java - 在按钮上单击检查单选按钮是否被选中

标签 java android button onclick onclicklistener

我正在开发一个Android应用程序,其中问卷 Activity 包含作为单选按钮和按钮(下一步)的问题。因此,当按下按钮时,我必须检查是否所有问题都得到回答。如果有任何问题如果问题没有得到解答,那么应该会弹出一条警告消息,指出特定的问题没有得到解答。任何人都可以帮我解决 java 代码吗? 提前致谢。 Here is the view of my Questionnaire activity

这是 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/

相关文章:

C++ 如何使用 onClick 事件创建文本框?

html - 如何在 Bootstrap 导航栏中制作彩色按钮?

java - 有没有地方可以获得可重复使用的 swing "components"?

javascript - 如何在 react native android中获取响应 header ?

Android - Proguard 返回错误代码 1

android - Recyclerview 在 Activity 或 fragment android 中使用按钮 Action 向上和向下按钮滚动

android - 使用 libgdx 缩放 scene2d 按钮

java - 使用工业级加密保护 Java 免受逆向工程

java - 嵌套单表继承

java - 为什么java虚拟机规范还是1999版