我有2个活动,A和B. 在活动A中我有radiogroup,CHECK按钮和NEXT按钮。 在我按下NEXT按钮之前,我想先选择收音机组中的第一个单选按钮,然后先检查它,以便在我按下下一个按钮之前我能够知道它是正确还是不正确。
这是我的代码:
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (radio1.isChecked() || radio2.isChecked() || radio3.isChecked()) {
if (btnCheck.isPressed()) {
Intent i = new Intent(getApplicationContext(), SecondActivity.class);
startActivity(i);
}
} else {
return;
}
}
});
即使我选择了一个单选按钮并检查它,我也无法按下NEXT按钮。 请帮忙。
您的回答将不胜感激。 谢谢。
答案 0 :(得分:2)
我不确定问题是什么,但您可以创建一个布尔值来检查您是否担心isPressed()
无法正常工作。
boolean hasChecked = false;
btnCheck.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// put conditions here to check if it was pressed at the right time
hasChecked = true;
}
});
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (radio1.isChecked() || radio2.isChecked() || radio3.isChecked()) {
if (hasChecked) {
Intent i = new Intent(getApplicationContext(), SecondActivity.class);
startActivity(i);
}
}
}
});
答案 1 :(得分:0)
if (radio1.isChecked() || radio2.isChecked() || radio3.isChecked()) {
//Do something here.
}
以上是否要检查是否选中任何一个单选按钮。
if (radio1.isChecked() && radio2.isChecked() && radio3.isChecked()) {
//Do something here.
}
以上是否要检查 all 是否选中了单选按钮。
如果我理解正确,您还需要在按NEXT之前检查一些btnChk的点击。所以在你的btnChk的onClick方法中添加一个FLAG(全局变量),如果你想记录那个特定按钮的话。
如果您希望任何单选按钮检查都为真,请使用|| if语句中的条件。然后检查是否按下了btnChk执行以下操作:
在类声明的下方声明全局FLAG:
public int FLAG = 0;
在onCreate()上按钮上设置按钮点击事件:
Button btnChk = (Button)findViewById(R.id.YourId);
btnChk.setOnClickListener(btn);
private View.OnClickListener btn = new View.OnClickListener() {
@Override
public void onClick(View v) {
FLAG =1;
}
};
然后在“下一步”按钮中检查以下内容:
if (radio1.isChecked() || radio2.isChecked() || radio3.isChecked()) {
if(FLAG ==1){
//Do something here.
}
}
FLAG的作用:FLAG最初初始化为零,一旦按下btnChk,FLAG变为1,如果没有按下btnChk,FLAG保持为0.所以在按钮中单击下一步按钮,检查FLAG的值并相应地做你的东西。