这段代码的真假有什么区别?
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
int cbcheck = 1;
} else {
int cbcheck = 0;
}
}
@Override
public void onClick(View v) {
;
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.registerbut:
onCheckedChanged(cbagree, false);
if (cbcheck == 1) {
Intent intent = new Intent(this,
RegisterScreen2.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
} else if (cbcheck == 0){
}
break;
}
}
如果我通过了False会发生什么?
我希望这样做,如果复选框,意图将运行,否则它将为您指出复选框。我试过保存checkboxing,然后使用savepreferences和loadpreferences加载它,但我发现这太麻烦了。有没有其他方法可以做到这一点?
这是在android顺便说一句。
最佳答案
正如本文所写,没有区别,因为您的函数onCheckedChanged()
实际上什么也不做:在两个局部块中,局部变量被声明,立即超出范围,并且这个函数根本没有任何净效果。
也许你是想改为修改某个私有类成员?
建议:这里有一个通过私人成员传递国家变更的想法:
class Thing
{
private int cbcheck;
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
cbcheck = isChecked ? 1 : 0;
}
/* ... */
}