0

ロングクリックを実行すると、リストにいくつかの情報が表示されるダイアログが表示されます。この情報は、クリックが実行されたリストエントリによって異なります。ただし、情報を表示して閉じると(dialog.cancel()コマンドで呼び出すことにより)、次にダイアログを開いたときに、わざわざ情報を再度取得する必要がないことに気付きました。以前に見たのと同じダイアログがポップアップするだけです。この問題を克服するためのヒントはありますか?ありがとう!

いくつかの詳細情報。ダイアログは、showDialog(int)コマンドを使用して生成されます。そこから、マスターアクティビティのonCreateDialog(int)コマンドを介して呼び出されます。

編集:ダイアログのonClickListenerでremoveDialog(int)コマンドを使用して、これを機能させることができました(死ぬと自分自身を削除するだけです)。私は私の人生のためにもっとエレガントな解決策を見つけることはできませんが、私はそれをはるかに好みます。みんなありがとう!

編集:NM、答えはすでにここに投稿されていることに気づきました...ありがとうございました!

4

2 に答える 2

2

より多くの情報を使用できますが、使用していますonPrepareDialog(int id, Dialog dialog)onPrepareDialog(int id, Dialog dialog, Bundle args)

ダイアログの作成と表示をアクティビティに処理させる必要があります。onPrepareDialogは、ダイアログがユーザーに表示される前に、ダイアログに正しい情報があることを確認します。

于 2010-12-16T17:14:35.940 に答える
0

最初にダイアログに入力されたルーチンを再実行する必要があります。

于 2010-12-16T17:04:48.450 に答える