1

AlertDialog を作成するプロセスまたは順序を知りたいです。この質問をする順序は、AlertDialog のリスト項目をフィルタリングして無効にすることです。これは動的でなければなりません。そこで、onPrepareDialog(int id, Dialog dialog) メソッドを上書きすることにしました。

まず、onCreateDialog(int id) メソッドで AlertDialog を作成します。

protected Dialog onCreateDialog(int id) {
    --------

    builder.setMultiChoiceItems(itemsId, checkedItems, mListenter);

    ---------
}


protected void onPrepareDialog(int id, Dialog dialog) {
    -----------
    ListView mListView = ((AlertDialog)dialog).getListView();
    mListView.setItemChecked(0, false);
    mListView.invalidateViews();

    View view = mListView.getChildAt(0);
    -----------
}

しかし、これらのコードは機能しません。前にチェックした後、最初のアイテムはまだチェックされていました。そして、初めてダイアログを表示するときに ChildView が null になるのはなぜですか? ListView でアイテムをファイリングする方法と、一部のアイテムを無効にして表示する方法。

4

1 に答える 1

0

私の答えが以下であるかどうかを確認してください:作成後に AlertDialog.builder で構築された AlertDialog リスト内のアイテムの配列を更新する方法は、請求書に適合します。少なくとも私にとってはうまくいきます。

于 2011-06-23T15:45:01.630 に答える