我正在开发一个Android应用程序,其中问卷 Activity 包含作为单选按钮和按钮(下一步)的问题。因此,当按下按钮时,我必须检查是否所有问题都得到回答。如果有任何问题如果问题没有得到解答,那么应该会弹出一条警告消息,指出特定的问题没有得到解答。任何人都可以帮我解决 java 代码吗? 提前致谢。
这是 Java 代码。我已对出现错误的行进行了评论。
public class ManagerQuestionnaire1 extends Activity
{
RadioButton rb1;
RadioButton rb2;
RadioButton rb3;
RadioButton rb4;
RadioButton rb5;
RadioButton rb6;
RadioButton rb7;
RadioButton rb8;
RadioButton rb9;
RadioGroup rg1;
RadioGroup rg2;
RadioGroup rg3;
Button next;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_manager_questionnaire1);
addButtonListener();
}
public void addButtonListener()
{
rb1=(RadioButton)findViewById(R.id.radioButton1);
rb2=(RadioButton)findViewById(R.id.radioButton2);
rb3=(RadioButton)findViewById(R.id.radioButton3);
rb4=(RadioButton)findViewById(R.id.radioButton4);
rb5=(RadioButton)findViewById(R.id.radioButton5);
rb6=(RadioButton)findViewById(R.id.radioButton6);
rb7=(RadioButton)findViewById(R.id.radioButton7);
rb8=(RadioButton)findViewById(R.id.radioButton8);
rb9=(RadioButton)findViewById(R.id.radioButton9);
rg1=(RadioGroup)findViewById(R.id.Mquestion1);
rg2=(RadioGroup)findViewById(R.id.Mquestion2);
rg3=(RadioGroup)findViewById(R.id.Mquestion3);
Button next=(Button)findViewById(R.id.button1);
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
if(validationSuccess()){
Intent intent = new Intent(ManagerQuestionnaire1.this, ManagerQuestionnaire2.class);
startActivity(intent);
}
}
});
}
private Boolean validationSuccess()
{
if(rg1.getCheckedRadioButtonId()==-1&&rg2.getCheckedRadioButtonId()==-1&&rg3.getCheckedRadioButtonId()==-1)
{
alertDialog();
return false;
}
if(rb1.isChecked()==false&rb2.isChecked()==false&&rb3.isChecked()==false)
{
alertDialog();
return false;
}
if(rb4.isChecked()==false&&rb5.isChecked()==false&&rb6.isChecked()==false)
{
alertDialog();
return false;
}
if(rb7.isChecked()==false&&rb8.isChecked()==false&&rb9.isChecked()==false)
{
alertDialog();
return false;
}
return true;
}
private void alertDialog()
{
AlertDialog alert= new AlertDialog.Builder(ManagerQuestionnaire1.this).create();
alert.setTitle("Exception:Complete the Questions");
alert.setMessage("Please ensure all Questions are answered");
}
最佳答案
您还可以使用以下代码:
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(validationSuccess()){
Intent intent = new Intent(ManagerQuestionnaire1.this, ManagerQuestionnaire2.class);
startActivity(intent);
}
}
});
private Boolean validationSuccess(){
if(rg1.getCheckedRadioButtonId()==-1&&rg2.getCheckedRadioButtonId()==-1&&rg3.getCheckedRadioButtonId()==-1){
alertDialog();
return false;
}
//optional to add whether to check which questn is not answered
if(mBtn1.isChecked()==false&&mBtn2.isChecked()==false&&mBtn3.isChecked()==false){
alertDialog();
return false;
}
if(mBtn4.isChecked()==false&&mBtn5.isChecked()==false&&mBtn6.isChecked()==false){
alertDialog();
return false;
}
if(mBtn7.isChecked()==false&&mBtn8.isChecked()==false&&mBtn9.isChecked()==false){
alertDialog();
return false;
}
return true;
}
private void alertDialog() {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
ManagerQuestionnaire1.this);
alertDialogBuilder.setMessage("Please ensure all Questions are answered")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = alertDialogBuilder.create();
alert.show();
}
其中 mBtn1,mBtn2.. 是您的单选按钮
关于java - 在按钮上单击检查单选按钮是否被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22242753/