1

Web サービスからの検索結果を表示しています。

Android がマルチタスクをサポートしているため、OnCreate で Web サービスの表示レコードをヒットしました。ユーザーが別の画面を開き、しばらくしてから検索結果ページに戻ると、アプリケーションは異常な動作を開始します....

OnCreate メソッド 次のようなデータをロードします。

private void loadData() throws Throwable{
        try {
            jsonArray = JSONService.getJsonArray(getResources().getString(R.string.catJson));
        } catch (Throwable e) {
            Log.e(TAG, e.getMessage());
            throw e;
        }
    }

次に、json 配列を反復処理し、ラベルの値を変更して結果を画面に表示します。

これを修正する方法はありますか?

4

2 に答える 2

0

はい、私たちの問題をもっと詳しく説明してください。アクティビティのライフサイクルに精通していますか? マルチタスクの概念が実際に機能するためには、いくつかの異なるコールバックを管理する必要があります。あなたが提供した限られた情報に基づいて、アクティビティがフォーカスを失ったときにアプリケーションの状態を保存しているとは思いません。そのため、プロセスがシャットダウンしている可能性があり、戻ってきたときに JSON 配列がなくなっています。これを読んでください: http://developer.android.com/guide/topics/fundamentals.html#lcycles

于 2009-12-21T17:21:20.590 に答える
0

OnCreate でスーパーを呼び出していますか?

super.onCreate(savedInstanceState);
于 2009-12-21T17:42:00.537 に答える