alertBuilder と setSingleChoiceItems で作成されたアラート ダイアログを使用して、データ エントリのリストで選択したエントリに単一の選択肢の値を割り当てています。これは、ダイアログの作成時に古い値を使用して選択を設定し、ユーザーがクリックしたときに新しい値が取得される単一の選択に適しています。
builder.setSingleChoiceItems(items, currentLevel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int newLevel) {
if (newLevel == currentLevel) {
// no change
} else {
updateLevel(alertId,newLevel);
}
dialog.cancel();
}
});
ここで、これをデータ要素の複数の選択に拡張したいと思います。つまり、いくつかの異なる現在のレベルが存在する可能性があるため、ダイアログを作成するときに複数のエントリを選択できるはずですが、クリック時に選択できるのは 1 つだけです (これにより、最初の複数選択がすべて置き換えられます)。setMultipleChoiceItems を使用して得られるチェック ボックスとは異なり、まだラジオ ボタンが必要です。
これを実装するためのヒントはありますか? カスタム ビューを作成する必要がありますか、またはこれをサポートするように AlertBuilder を設定する方法はありますか?