を使用して を作成し、AlertDialog
から派生したカスタム クラスに設定しました。AlertDialog.Builder
setSingleChoiceItems
ListAdapter
CursorAdapter
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Title")
.setSingleChoiceItems(mAdapter, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which)
{
// Do nothing.
}})
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
Log.d(TAG, "Ok clicked.");
}})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
Log.d(TAG, "Cancel clicked.");
}});
を使用しているにもかかわらず、setSingleChoiceItems()
表示されるダイアログにはチェック ボックス付きのリストが含まれており、複数の項目をチェックできます。代わりにラジオボタン付きのリストが表示されることを期待しています。
ダイアログで 1 つの項目のみを選択できるようにし、その選択をラジオ ボタンで表示するにはどうすればよいですか?
アップデート
アダプターの代わりにリスト項目ソースとしてsetSingleChoiceItems
a を渡すと、目的の結果が得られます。String[]
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Title")
.setSingleChoiceItems(new String[] {"one","two","three"}, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which)
{
// Do nothing.
}});
したがって、アダプターが問題を引き起こしているようです。理由はまだわかりません。