【问题标题】:Android: Radiobutton non checkedAndroid:单选按钮未选中
【发布时间】:2014-11-24 11:48:51
【问题描述】:

我想做一个 Android 应用测验。我做了一个带有 4 个单选按钮的单选组,代表 4 个答案。 我希望当未单击这些单选按钮时,应用程序会显示错误,但我没有这样做。 这是我的代码:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_main);
        RadioGroup champ=(RadioGroup)findViewById(R.id.answer1);


        champ.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                @SuppressWarnings("null")
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                    // TODO Auto-generated method stub

                    switch(checkedId) {

                    case R.id.answer1A:
                        ans1 =0;
                        break;
                    case R.id.answer1B:
                        ans1 =1;
                        break;
                    case R.id.answer1C:
                        ans1 =2;
                        break;
                    case R.id.answer1D:
                        ans1 =3;
                        break;
                    case R.id.answer1E:
                        ans1 =4;
                        break;
                    default:
                        ans1=(Integer) null;
                        Toast.makeText(MainActivity.this, "error",  Toast.LENGTH_LONG).show();
                        break;

                    }
                }
            });

为什么?你能帮帮我吗?

【问题讨论】:

  • 您正在监听器上检查它。只需在监听器外部检查它。如果单击了任何单选按钮..如果没有,则显示吐司..

标签: android radio-button radio-group


【解决方案1】:

第一次赋值:

ans1=-1; //in onCreate or at the time of declaration

您可能正在点击一个按钮或其他东西,您将访问哪个答案已被选中,您可以在那里查看:

if(ans1==-1)
{
   //show error message
}
else
{
  //Success
} 

【讨论】:

  • Modifico il mio codice in questo modo: if (champ.getCheckedRadioButtonId() == -1) { Toast.makeText(MainActivity.this, "error", Toast.LENGTH_LONG).show(); } else { champ.setOnCheckedChangeListener(new OnCheckedChangeListener() { 但它不起作用
【解决方案2】:

这个检查没有执行,因为这是一个checkedchangelistener,当你点击一些单选按钮时会触发(当状态改变时)。

您所要做的就是检查此侦听器之外的每个单选按钮的状态。

【讨论】:

  • 答案很不清楚。请详细说明或举例说明它是如何工作的。 -1 表示不完整且具有误导性的答案。
猜你喜欢
  • 1970-01-01
  • 2019-10-04
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
  • 2018-05-10
  • 2020-06-08
相关资源
最近更新 更多