【问题标题】:multichoice dialog with click order带有点击顺序的多选对话框
【发布时间】:2017-11-04 15:42:03
【问题描述】:

我想与一个听者进行多选对话,我按选项的顺序。我该怎么做?

String[] multiChoiceItems = 
getResources().getStringArray(R.array.dialog_choice_array_monday);
boolean[] checkedItems = {false, false, false, false, false, false, false};
new AlertDialog.Builder(NewScheduleActivity.this)

.setTitle(getString(R.string.main_dialog_multi_choice_monday))
.setMultiChoiceItems(multiChoiceItems, checkedItems, null)
.setPositiveButton(getString(R.string.dialog_ok), null)
.setNegativeButton(getString(R.string.dialog_cancel), null)
 .show();       
        }

【问题讨论】:

  • 您尝试过自定义对话框吗?见:stackoverflow.com/questions/13341560/…
  • @nhoxbypass 问题是听按下选项的顺序..我不知道如何实现这个
  • 如果我下面的解决方案是您想要的,请告诉我
  • @KJNewtown 不幸的是不是......我正在寻找一个解决方案,我点击这些项目的顺序/顺序
  • 是的!所以你需要为序列创建一个新数组,并通过使用我的解决方案,在 onClick 监听器中,只需在里面添加代码即可将所选元素添加到 sequenceArray 中!最后,该数组将按照选择的顺序包含数据。你看到可能性了吗?

标签: android dialog


【解决方案1】:

这应该会有所帮助:

 .setMultiChoiceItems(multiChoiceItems, null, new DialogInterface.OnMultiChoiceClickListener() {

});

当你开始输入新的DialogeInterface.OnMul......它会自动实现抽象方法:

onClick(DialogInterface dialog, int which, boolean isChecked)

我认为您可以使用 null 代替您的 checkedItems 数组,这取决于您是否需要使用该数组中的数据。

你需要做什么:

为sequence新建一个数组,在onClick Listener中,只需在里面添加代码,将选中的元素添加到sequenceArray中即可!最后,该数组将按照选择的顺序包含数据。

   String[] multiChoiceItems = getResources().getStringArray(R.array.dialog_choice_array_monday);
    ArrayList<String> sequenceArray = new ArrayList<>();
new AlertDialog.Builder(NewScheduleActivity.this)

                        .setTitle(getString(R.string.main_dialog_multi_choice_monday))
                        .setMultiChoiceItems(multiChoiceItems, null, new DialogInterface.OnMultiChoiceClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                                sequenceArray.add(multiChoiceItems[which])
                            }
                        }
                        .setPositiveButton(getString(R.string.dialog_ok), null)
                        .setNegativeButton(getString(R.string.dialog_cancel), null)
                        .show();
            }

安卓网站:https://developer.android.com/reference/android/content/DialogInterface.html

【讨论】:

  • 我真的是新人添加这个东西...你能写下一个好的序列数组的代码吗?
  • 谢谢!有没有办法修改多选的复选框?
  • 你指的布局?也许这会有所帮助:stackoverflow.com/a/10139809/1082344
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
相关资源
最近更新 更多