0

我有不同类别的过滤器,例如 id、姓名、性别、地区、种姓、宗教。现在我想使用显示复选框的多项选择过滤器,我如何使用多项选择过滤器,因为有多种过滤器,所以排列和组合对它来说是最糟糕的。目前我已经完成了过滤器的单一选择(一次1个复选框为真)。

4

1 回答 1

0
String str[] = new String[('Z' - 'A') + 1];
boolean selectedItems[] = new boolean[str.length];
protected ArrayList<CharSequence> selectedChars = new ArrayList<CharSequence>();
private AlertDialog alertBox;

private void showSpinner() {

    AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);

    int a = 0;
    for (char c = 'A'; c < 'Z'; c++) {
        str[a++] = String.valueOf(c);
    }
    boolean[] checkedChars = new boolean[str.length];
    int count = str.length;
    for (int i = 0; i < count; i++)
        checkedChars[i] = selectedChars.contains(str[i]);

    alertBuilder.setTitle("Select Country");
    alertBuilder.setCancelable(true);
    alertBuilder.setMultiChoiceItems(str, selectedItems,
            new OnMultiChoiceClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which,
                        boolean isChecked) {
                    if (isChecked)
                        selectedChars.add(str[which]);
                    else
                        selectedChars.remove(str[which]);
                }
            });

    alertBox = alertBuilder.create();
    alertBox.show();
}

它将显示带有多个选择选项的微调器。

于 2013-08-13T05:43:29.487 回答