4

わかりました、しばらくこれを検索しましたが、何も見つかりません。私のアプリは生徒の学校のスケジュールをリストに表示し、ユーザーがリスト内のクラスをクリックすると、いくつかのオプション (編集、削除、アラームの設定) をリストするダイアログが表示されます。編集と削除はクリックするだけで何かが起こるので簡単ですが、「アラームの設定」オプションについて助けが必要です。クリック可能にしたくありません。アラームのオンとオフを切り替えるチェックボックスが右側にあるだけです。私のダイアログのコードは次のとおりです。

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(courseName)
    .setItems(R.array.courseList, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            switch(which) {
            case LIST_EDIT:
                break;
            case LIST_DELETE:
                break;
            case LIST_ALARM:
                break;
            }
        }
    });

    AlertDialog alert = builder.create();
    alert.show();

現在、リソース xml ファイルの文字列配列に、id courseList を持つリスト オプションがあります。LIST_EDIT、LIST_DELETE、および LIST_ALARM は、リスト内のインデックスに対応する最終的な int です。チェックボックスをアラームリスト項目に追加する方法が本当にわかりません。助けていただければ幸いです。

4

1 に答える 1

1

フラグメントに精通している場合は、 FragmentDialogを使用してから、メソッドonCreateDialogで必要に応じてダイアログを作成できます。

LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.list, null);
_list = (ListView) view.findViewById(R.id.listview);
_adapter = new AdapterDialog(_context);
_list.setAdapter(_adapter);
//
AlertDialog.Builder builder = new AlertDialog.Builder(_context);
builder.setView(view);  builder.setTitle("Dialog").setPositiveButton(getActivity().getString(android.R.string.ok), this);

return builder.create();

またはそのようなものそして、シングルトンメソッドまたはコンストラクターでダイアログを作成します

_dialog = Dialog.newInstance(R.string.title, this);
_dialog.setCancelable(true);
_dialog.show(getSupportFragmentManager(), null);

あなたのアプローチでは、「ボタン」以外のものを追加することはできません。リストにカスタム行を追加したい場合は、アダプターを使用する必要があります

それが役に立てば幸い

于 2013-07-04T16:03:09.783 に答える