0

私の Android アクティビティでは、2 つの異なる配列を使用しています。最初にそれらを宣言し、次にonCreate()メソッドでそれらをインスタンス化しています。ただし、データを入力してから方向を変更すると、 で再度インスタンス化され、データが失われます。

public class MainActivity extends Activity {

    private JSONArray first;
    private JSONArray second;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        interestedSections = new JSONArray();
        productsBought = new JSONArray();
    }

        //...
}

if (savedInstanceState != null)初めて配列を初期化するために、配列を初期化する前に追加しようとしましたが、向きを変更すると、 null. アプリケーションのライフサイクル全体を通して配列内のデータを永続化するにはどうすればよいですか?

4

3 に答える 3

0

onSaveInstanceState()を参照してください。これは、配列をバンドルに保存することになっている場所です。

ところで、Android はプロセスを強制終了し、後でアクティビティを復元することがあります。静的変数はこれに耐えられません。

于 2013-04-18T05:55:04.483 に答える