0

私のアプリでは、線形レイアウトの可視性を動的に設定します。問題は、デバイスの回転時に、線形レイアウトの状態 (表示または非表示) が保存されないことです。

ここで、レイアウトのインスタンス状態を保存して、状態を保存したいと思います。誰かがそれに応じた方法で私を助けることができますか? どのような価値を提供する必要がありますか?

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    // ??
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    // ???
}
4

2 に答える 2

0

可視性をバンドルに整数として保存するだけです。

private final static String VIEW_1_VISIBILITY = "view_1_visibility";
private View mView1;

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt(VIEW_1_VISIBILITY, mView1.getVisibility());
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    if(savedInstanceState != null){
        mView1.setVisibility(savedInstanceState.getInt(VIEW_1_VISIBILITY, View.VISIBLE));
    }
}
于 2013-08-15T22:25:47.130 に答える