boolean buttonflag=false;
Editbutton.setOnClickListener( new OnClickListener()
{
@Override
public void onClick( View v )
{
buttonflag=true;
}
}
我收到的错误是“无法在用不同方法定义的内部类中引用非最终变量buttonflag”,我要做的是当我按下Editbutton时我希望buttonflag为true。.任何人都可以解释原因并解决此问题?
最佳答案
错误消息非常简单。由于buttonflag
不是最终的,因此您无法在OnClickListener
匿名类中访问它。两种可能的解决方案
将buttonflag设为字段
使其最终。但是,您无法对其进行修改,因此必须选择一维数组方法,从而导致
final boolean[] buttonflag=new boolean[]{false};
Editbutton.setOnClickListener( new OnClickListener(){
@Override
public void onClick( View v ){
buttonflag[0]=true;
}
}