0

ID、名前、性別、地域、カースト、宗教など、さまざまなカテゴリのフィルターがあります。チェックボックスを表示する複数選択フィルターを使用したいのですが、多くの種類のフィルターがあり、順列と組み合わせが最悪であるため、複数選択フィルターを使用するにはどうすればよいですか。現在、フィルターの単一選択で完了しています(一度に1つのチェックボックスがtrueになります)。

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 に答える