2016-08-08 4 views
1

OnClickListenerの変数にアクセスするとエラーが表示されます。変数は内部クラスでからアクセスされました

EditText hight=(EditText)findViewById(R.id.hight); 
     EditText wight=(EditText)findViewById(R.id.wight); 
     Button calc=(Button) findViewById(R.id.calculate); 
     TextView result=(TextView) findViewById(R.id.result); 

     calc.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Double h=Double.valueOf(hight.getText().toString()); 
       Double w=Double.valueOf(wight.getText().toString()); 

       h=h/100; 

答えて

0

これを試してください:あなたは内部クラスにアクセスしようとしているものは何でも

final EditText hight,wight; 
    final Button calc; 
    final TextView result; 


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

     hight=(EditText)findViewById(R.id.hight); 
     wight=(EditText)findViewById(R.id.wight); 
     calc=(Button) findViewById(R.id.calculate); 
     result=(TextView) findViewById(R.id.result); 

     calc.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Double h=Double.valueOf(hight.getText().toString()); 
       Double w=Double.valueOf(wight.getText().toString()); 

       h=h/100; 
+0

ありがとうございました! – mashudmuhd

0

あなたは内部クラスでそれらを使用したい場合は、アクセスしようとしている変数はちょうど最終マークする必要があります。ここでは

はコードです。

 final EditText hight=(EditText)findViewById(R.id.hight); 
     final EditText wight=(EditText)findViewById(R.id.wight); 
     final Button calc=(Button) findViewById(R.id.calculate); 
     final TextView result=(TextView) findViewById(R.id.result); 

     calc.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Double h=Double.valueOf(hight.getText().toString()); 
       Double w=Double.valueOf(wight.getText().toString()); 

       h=h/100; 
+0

まだ動作していないエラーが表示されます – mashudmuhd

0
final EditText hight=(EditText)findViewById(R.id.hight); 
final  EditText wight=(EditText)findViewById(R.id.wight); 

Button calc=(Button) findViewById(R.id.calculate); 
     TextView result=(TextView) findViewById(R.id.result); 

はあなたが最終的として、これらの項目を宣言しなければなりません。

関連する問題