2017-08-03 6 views
0

Je suis nouveau sur Android, actuellement confronté à une poignée d'erreurs. Dont un estImpossible de résoudre le symbole 'Value' dans Android Studio 3.0 Canary 8

Impossible de résoudre le symbole « Value »

enter image description here

« Value » est en rouge, et la construction a échoué. Je suppose que j'ai fait une erreur simple dans Java, mais après quelques jours de séance, je ne le vois pas.

Voici le code MainActivity.java:

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

private Button btnAdd; 
private Button btnTake; 
private TextView txtValue; 
private Button btnGrow; 
private Button btnShrink; 
private Button btnReset; 
private Button btnHide; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // get reference to all buttons in UI. Match them to all declared Button objects 
    btnAdd = (Button) findViewById(R.id.btnAdd); 
    btnTake = (Button) findViewById(R.id.btnTake); 
    txtValue = (TextView) findViewById(R.id.txtValue); 
    btnGrow = (Button) findViewById(R.id.btnGrow); 
    btnShrink = (Button) findViewById(R.id.btnShrink); 
    btnReset = (Button) findViewById(R.id.btnReset); 
    btnHide = (Button) findViewById(R.id.btnHide); 

    // listen for all the button clicks 
    btnAdd.setOnClickListener(this); 
    btnTake.setOnClickListener(this); 
    txtValue.setOnClickListener(this); 
    btnGrow.setOnClickListener(this); 
    btnShrink.setOnClickListener(this); 
    btnReset.setOnClickListener(this); 
    btnHide.setOnClickListener(this); 
} 

@Override 
public void onClick(View view) { 

    // a local variable to use later 
    float size; 

    switch (view.getId()){ 

     // case 1 
     case R.id.btnAdd: 
      value++; 
      txtValue.setText(""+ value); 

      break; 

     // case 2 
     case R.id.btnTake: 
      value--; 
      txtValue.setText(""+ value); 

      break; 

     // case 3 
     case R.id.btnReset: 
      value = 0; 
      txtValue.setText(""+ value); 

      break; 

     // case 4 
     case R.id.btnGrow: 
      size = txtValue.getTextScaleX(); 
      txtValue.setTextScaleX(size + 1); 

      break; 

     // case 5 
     case R.id.btnShrink: 
      size = txtValue.getTextScaleX(); 
      txtValue.setTextScaleX(size - 1); 

      break; 

     // last case statement with if-else 
     case R.id.btnHide: 
      if (txtValue.getVisibility() == View.VISIBLE){ 

       // currently visible so hide it 
       txtValue.setVisibility(View.INVISIBLE); 

       // change text on the button 
       btnHide.setText("SHOW"); 
      }else{ 
       // hidden so show 
       txtValue.setVisibility(View.VISIBLE); 

       // change text on button 
       btnHide.setText("HIDE"); 
      } 

      break; 

    } 


}} 

Si vous pouvez jeter un coup d'œil pour voir s'il y a une erreur dans la syntaxe, je serais très reconnaissant.

+0

Cela a zéro à cause w/le fait que vous êtes nouveau sur Android. Cette erreur est jeté dans Java en général, ou dans beaucoup de langues, honnêtement. Votre variable 'value' n'est jamais déclarée –

+0

Instancier la variable' value'. 'int value = 0;' – Bajal

Répondre

0

Déclarez la variable de valeur comme ci-dessous -

private int value; 

Au-dessus de votre méthode onCreate. Une déclaration de variable est requise avant de pouvoir l'utiliser n'importe où dans le code. Si vous en définissez la variable globale, vous pouvez y accéder à partir de la méthode onClick et aussi ailleurs.

+0

Merci beaucoup, résolu. –