0

アクティビティのライフ サイクルに問題があります。私のサーバー通信アクティビティでは、サーバーからアイテムのリストをダウンロードしてから、ListView のアダプターをセットアップしています。

すべて問題ありませんが、この画面でホーム ボタンを押してしばらくしてから (たとえば 3 時間以上)、アプリケーション マネージャーを介して画面に戻ると、アプリケーションがクラッシュします。問題は、setAdapter() メソッドを再度呼び出している onTextChanged() メソッド (EditText を介した検索に役立ちます) にあります。私の配列が何らかの形で消去されたため、 nullPointerException があります。

復元中に onTextChanged() メソッドが再度呼び出されるのはなぜですか? そして、なぜ配列が消去されたのですか?

ご協力ありがとうございました。

4

2 に答える 2

0

アクティビティのライフサイクル図を確認してください:
https://developer.android.com/reference/android/app/Activity.html

ホームを押すと、アクティビティは一時停止状態になります。
そして 3 時間またはさらに短い時間の後、リソース管理のためにシステムによって強制終了される可能性があります。
そのため、次回の起動時に再度作成する必要があります。

onDestroy()およびを処理するコードを追加する必要があると思いますonStop()

ここに画像の説明を入力

于 2013-05-11T16:02:20.733 に答える
0

をオーバーライドして、最初と同じ方法でデータを取得します。

onResume() 

メソッド、データが存在するかどうかを事前に確認します。

于 2013-05-11T16:16:44.443 に答える