ped*_*ena 2 java checkbox sdk android reference
我希望我的代码在选中/取消选中复选框的事件时动态执行某些操作.我有这个代码:
checkConfidentiality.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked==true)
new AlertDialog.Builder(this).setTitle("Argh").setMessage("YEEEEEEEE").setNeutralButton("Close", null).show();
else
new AlertDialog.Builder(this).setTitle("Argh").setMessage("NOOOOOOOO").setNeutralButton("Close", null).show();
}
});
Run Code Online (Sandbox Code Playgroud)
在这种特殊情况下,我在AllertDialog声明中出现错误,当然因为在回调函数中"this"变量没有任何意义.问题是,如何将变量(父作用域的"this"或任何其他变量)传递给回调函数?谢谢!
YourClassName.this
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.
或者你应该写自定义类.例如
private class MyOnCheckedChangeListener implement CompoundButton.OnCheckedChangeListener {
private Context context;
public MyOnCheckedChangeListener (Context context) {
this.context = context;
}
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
}
}
Run Code Online (Sandbox Code Playgroud)
并使用它像:
checkConfidentiality.setOnCheckedChangeListener(new MyOnCheckedChangeListener(this));
Run Code Online (Sandbox Code Playgroud)
检查拼写错误