2

ユーザーが選択できる項目の配列を持つ builder.setSingleChoiceItem でダイアログを作成しました。しかし、ユーザーがその配列に何かを追加すると、そのダイアログのリストは更新されず、以前のリストが表示されます。

この目標を達成するには、ダイアログを再作成する必要があると読みました。どうやって再現するの?ダイアログを破棄して、その内容を最初からやり直すにはどうすればよいでしょうか? リストを更新できますか?

事前にご回答いただきありがとうございます。

4

1 に答える 1

1

答えを見つけた

    @Override
    public void onPrepareDialog(int id, Dialog dialog) 
    {
        switch(id) 
        {
//name of the case of the dialog you want to REFRESH -meaning destroy and recreate
            case REMOVE_WATCH_WORD :
                removeDialog(REMOVE_WATCH_WORD);
                break;

        }
     }

これを行う方法を見つけました。タイトル、リスト、配列、ダイアログ内のすべてを更新するために毎回ダイアログを再作成するには、onPrepareDialog でダイアログを削除します。onCreate ダイアログが再度呼び出されるため、これによりすべての値をリセットできます。これは、これを解決する最良の簡単な方法です。

于 2013-01-22T02:37:00.110 に答える