2016-05-23 3 views
0

私はそれがt_replace iは内部クラスからsaccessedと私が追加した場合、finalとして宣言する必要があることを私にエラーを与えてforループAndroidの最終的な変数エラー

void var_init(String to_match,String[][] temp) { 

     String t_match=to_match; 
    //problem in the below line 

     String t_replace = ""; 
     AlertDialog.Builder builder = new AlertDialog.Builder(RuleEngine.this); 
     builder.setTitle("Enter Value for"+t_match); 

// Set up the input 
     final EditText input = new EditText(RuleEngine.this); 

     builder.setView(input); 

// Set up the buttons 
     builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       t_replace = input.getText().toString(); 
      } 
     }); 
     builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.cancel(); 
      } 
     }); 

     builder.show(); 

から呼び出され、このコードを、持っています最後のt_replace変数では、最後のt_replace変数に値を代入することはできません。それはうまく動作する要素配列に変換することを提案しますが、返される結果は意図したものではありません。

+1

使用t_replaceを削除dは、実行時に、最終的な変数を変更することはできません。どんな方法の中にもありません。 –

答えて

0

グローバルに '置き換える'ことはできません。 finalは定数なので変更できません。

0

あなたは「
は、クラスの初めにインスタンス変数権利として、最終的なキーワードに final EditText input = new EditText(RuleEngine.this);

関連する問題