变量'btnsave'是从内部类中访问的,需要声明为final

时间:2015-03-02 16:41:53

标签: java android variables button android-studio

我的代码上面有上述错误。我试图通过宣布我的btnsave作为最终解决方案来解决这个问题,但后来我又得到了两个错误:

  

未知类:' btnsave'

     

不是声明

知道如何修复此错误吗?

btnsave = (Button)findViewById(R.id.button);
            btnsave.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    int clicks = 0;
                    clicks++;

                    if (clicks >= 5){
                        btnsave.setEnabled(false);
                    }

                    SharedPreferences prefs = getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
                    SharedPreferences.Editor editor = prefs.edit();
                    editor.putInt("clicks", clicks);
                    editor.apply();
                }
            });

2 个答案:

答案 0 :(得分:0)

两个选项。您可以通过以下方式将按钮声明为结尾:

final Button btnSave;

或者你可以用这种方式将你的按钮声明为类的属性(Activity,Fragment或其他):

private Button btnSave;

答案 1 :(得分:0)

原文:

if (clicks >= 5){
                    btnsave.setEnabled(false);
                }

更改了工作代码:

if (clicks >= 5){
                   ((Button)view).setEnabled(false)
                }