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