2012-05-03 4 views
0

私のアクティビティにはListViewが含まれています。ダイアログ(Dialogを継承するカスタムダイアログ)を開くと、アダプタのgetView()が体系的に呼び出されるため、どこかで呼び出されたnotifyDataSetChangedが必要です。私はダイアログを閉じるたびにリストをリフレッシュしたくない。どうすればこれを防ぐことができますか?ダイアログを閉じた後にアダプタgetView()が体系的に呼び出されました

+0

あなたが受け取ったかもしれない関連コードとログキャッチエラーを投稿してください。 – Sam

+0

いくつかのコードを投稿する必要があります。 –

答えて

0

あなたのリストアクティビティから新しいアクティビティを開始したときのように、ライフサイクルの問題のように聞こえます。リストアクティビティに戻る...リスト作成コードがonResumeにある場合、それは再実行する。

ここでは本当に問題はありませんが、自分のコードを見ることなく、私はそれを作ることができます。

0

通知データセットの変更を設定したくない場合は、任意のオブジェクトにデータを一時的に保存することができます。更新する場合は、そのデータを配列リストまたは文字列配列に保存します。この方法でnotifydatasetchangedを呼び出すと、必要なときにのみ更新されます。

0

私は同じ問題を抱えていて、私はそれについて何もできないと思っていました。それはあなたが何をしたいのかを正確に知ることができるように、

ListViewに表示されているときに、自分のビューの1つにonClickを追加していました。私はその時点でそれを知りませんでしたが、(getViewの後の)Viewのこの変更は、ListViewがDialogが表示されたり閉じたりしたときにアダプタのgetView()を呼び出す原因となりました。 (おそらくビューの測定のため)

私はonClickを簡単に再追加できませんでしたので、getView()内のonClickを追加するようにコードを変更しました。は、後でビューを変更しませんでした。

元のgetView()が呼び出された後で私のビューを一切変更していないので、getView()はDialog showで呼び出されたり閉じたりしていません。

これが問題を解決するかどうかはわかりませんが、他の人には役立つかもしれません。

関連する問題