各位大虾,我是新手,请教下大家以下:
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_escalculator);
        daan = (TextView)findViewById(R.id.answer);
        final String tmpanswer = "";
        Button btn1 = (Button)findViewById(R.id.bt1);
        btn1.setOnClickListener(new Button.OnClickListener(){
         public void onClick(View v) {    
         String strtmp1 = "a";
            tmpanswer=tmpanswer + strtmp1;           
         daan.setText(tmpanswer);    
            }  
         });
    }错提示:The final local variable tmpanswer cannot be assigned, since it is defined in an enclosing type请问各位,我应该如何定义与赋值?Android

解决方案 »

  1.   

    final String tmpanswer = ""; 你这个已经给一个final 变量赋值了啊 下面再改就不OK了你可以改成 final String tmpanswer;
      

  2.   

     final String tmpanswer = "";  去掉final,或者final String tmpanswer;  不要赋值
      

  3.   

    我试了都不行,我的final和赋值都是系统提示的,如果去了, 
    tmpanswer=tmpanswer + strtmp1;这句里的两个tmpanswer都会出错.
      

  4.   

     tmpanswer=tmpanswer + strtmp1;   我就不明白了 你这个 tmpanswer 明明是空 为啥还需要加上?
      

  5.   

    请问不用final的话怎么解决?
      

  6.   

     final String tmpanswer = ""; 你写成全局变量,不要写在oncreat方法里边,写成全局的将final去掉。
      

  7.   

      final String tmpanswer = "";
    你把final去掉试试。
      

  8.   

    不在oncreat里写应该写在哪里?
      

  9.   

    就是全局变量啊,写在oncrea上边去。