【问题标题】:How can i unckeck all the selected check boxes, uncheck radio buttons, clear marked text fields after clicking reset button?如何在单击重置按钮后取消选中所有选中的复选框、取消选中单选按钮、清除标记的文本字段?
【发布时间】:2018-09-01 07:08:06
【问题描述】:

我在 android 中制作了一个测验应用程序,在用户单击重置按钮后,我希望取消标记所有标记的答案,或者应用程序变得与启动时相同。我该怎么做?

XML 和 JAVA 的代码位于以下 github 存储库中。 Code:

这是应用程序的屏幕截图。我希望当我点击 RESET 按钮时应用程序就像启动一样。

【问题讨论】:

  • 获取所有radioButton的实例&简单地触发,radioButton.setChecked(false);
  • 由于可能存在RecyclerView,您可以简单地将初始数据再次发送到适配器并调用`notifyDataSetChanged();`
  • @DarShan 没听懂,能否详细解释一下!提前致谢。
  • 或者,给主活动一个意图会起作用吗?
  • @RaghavMaheshwari 首先是你应该使用 RecyclerView... 回到正题,使所有 RadioButtons 私有类级别变量,在你的 Activity 的 onCreate() 中初始化它们,然后在 onClick( ) 的重置按钮,简单地在所有 RadioButtons 上执行 .setChecked(false)

标签: java android xml android-button


【解决方案1】:

好的,在我从here 阅读您的源代码后,我决定根本不应该让您继续采用这种方法。

花点时间阅读一下RecyclerView 及其工作原理,它会让您的生活更轻松。

Here 是一个关于如何在示例中使用它的教程。

一旦你熟悉了它,我相信你会让屏幕看起来更好,而且代码也会更清晰,写得更好。

我可以为您的特定情况提供一种方法,但是您将复制粘贴它,仅此而已。花点时间,你会喜欢你将学到的

快乐编码

【讨论】:

    【解决方案2】:
    //you can use this on reset button click for  checkbox
    if (checkBox1.isChecked()) {
                 checkBox1.setChecked(false);
             }
    if (checkBox2.isChecked()) {
                 checkBox2.setChecked(false);
             }
    

    【讨论】:

      【解决方案3】:

      将所有复选框拉到一个 Arraylist 中:

      ArrayList<CheckBox> checkboxList = new ArrayList<>();
      checkboxList.add(checkbox1);
      

      然后要删除所有选中的复选框,试试这个:

      for(int i = 0; i < checkboxList.size(); i++) {
         CheckBox checkBox = checkboxList.get(i);
         checkBox.setChecked(false);
      }
      

      我建议您使用 recyclerview,因为您的代码不是最好的方法。希望对您有所帮助。

      【讨论】:

        【解决方案4】:

        在 MainActivity 的 onCreate(...) 方法中添加:

        Button resetButton=findViewById(R.id.button2);
        resetButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    recreate();
                }
            });
        

        它将调用 onDestroy() 并重新启动您的 Activity。 希望我能帮上忙! 问候, 铯

        【讨论】:

          猜你喜欢
          • 2013-06-06
          • 2013-06-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-07
          • 1970-01-01
          • 2017-09-28
          • 2014-05-23
          相关资源
          最近更新 更多