具有多项选择的警报对话框可动态检查android

时间:2014-12-19 12:25:14

标签: android android-listview android-alertdialog

我的代码从服务器获取数据并使其显示在带有列表视图的警告对话框中,多项选项但是现在,我希望在加载到列表视图之前预先检查每个数据并标记检查条件是否满足这是否可能在警报对话框中。

//这是我将值加载到alertdialog

的代码
 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("Select Category List");

    final ListView modeList = new ListView(getActivity());

                    // Creating a button - Load More
    Button btnDone = new Button(getActivity());
    btnDone.setText("Done");
    btnDone.setTextColor(getActivity().getResources().getColor(                     android.R.color.white));

    btnDone.setBackgroundResource(R.drawable.logout_btn);

    final ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(getActivity(),
                            android.R.layout.simple_list_item_multiple_choice,
                            android.R.id.text1, EavesList);
                    modeList.addFooterView(btnDone);

    modeList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        modeList.setAdapter(modeAdapter);
    builder.setView(modeList);

我的问题:在警告对话框中加载多项选择之前,是否可以检查条件并选中标记。如果可能的话,请各自的教程或任何代码都会有所帮助。

2 个答案:

答案 0 :(得分:0)

你可以用 用于此目的的ListView setItemChecked()方法。

你可以在

之后使用它
modeList.setAdapter(modeAdapter);

并将你的条件放在这里,然后setItemChecked(position,value);将项目设置为已选中!如果它满足你的条件。

答案 1 :(得分:0)

假设您的列表属于CharacterSequence[]类型或可以转换为一个,您可以使用

&#13;
&#13;
AlertDialog.setMultiChoiceItems(CharacterSequence[] list, boolean[] checkedItems, OnMultiChoiceClickListener listener)
&#13;
&#13;
&#13;

将EavesList作为CharacterSequence[]作为第一个参数传递,boolean[]指定在创建Dialog作为第二个参数时要检查哪些列表项,并将用户切换项时的监听器作为第三个参数。