Android生命周期中状态保持问题
创始人
2024-10-10 11:30:11
0次

使用 onSaveInstanceState 方法和 onRestoreInstanceState 方法来保存和恢复状态。

在 Activity 中,当屏幕旋转或其他因素导致 Activity 被摧毁并重新创建时,可能会丢失之前的状态。为了解决这个问题,可以使用 onSaveInstanceState 方法来保存状态数据,并在 onRestoreInstanceState 方法中恢复数据。

下面是一个示例:

public class MainActivity extends AppCompatActivity {

    private int mCounter = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (savedInstanceState != null) {
            mCounter = savedInstanceState.getInt("counter");
        }

        TextView counterTextView = findViewById(R.id.counterTextView);
        counterTextView.setText(String.valueOf(mCounter));

        Button incrementButton = findViewById(R.id.incrementButton);
        incrementButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mCounter++;
                counterTextView.setText(String.valueOf(mCounter));
            }
        });
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putInt("counter", mCounter);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        mCounter = savedInstanceState.getInt("counter");
    }
}

在这个示例中,我们定义了一个计数器 mCounter,并在 onCreate 方法中初始化。在 onSaveInstanceState 方法中,我们将 mCounter 的值保存到 Bundle 中,键为 "counter"。在 onRestoreInstanceState 方法中,我们从 Bundle 中恢复 mCounter 的值。这样,我们就可以在 Activity 被摧毁和重新创建时保持计数器的值。

在实际应用中,可以根据需要保存和恢复更多的状态数据。

相关内容

热门资讯

最新消息开挂!三哥玩辅助透视挂... 最新消息开挂!三哥玩辅助透视挂,约逗进贤棋牌真的是有外挂,原来有挂透视1、三哥玩公共底牌简单,三哥玩...
连日来透视挂!嘉邻游戏辅助透视... 连日来透视挂!嘉邻游戏辅助透视挂,米乐确实有外挂,一贯真的有挂嘉邻游戏是不是有人用挂微扑克wpk插件...
实操分享开挂!PG娱乐城辅助透... 实操分享开挂!PG娱乐城辅助透视挂,博雅玉溪棋牌是有外挂,确实有挂透明挂1、完成PG娱乐城辅助器v3...
不少玩家反映开挂!K1体育辅助... 不少玩家反映开挂!K1体育辅助透视挂,宝宝浙江游戏确实有外挂,切实有挂解密暗藏猫腻,小编详细说明宝宝...
玩家必看科普辅助!放炮罚辅助透... 玩家必看科普辅助!放炮罚辅助透视挂,黄梅棋牌是真的有外挂,本来揭秘有挂1.黄梅棋牌 选牌创建新账号,...
最新消息辅助!趣玩玩辅助透视挂... 最新消息辅助!趣玩玩辅助透视挂,牵手麻将存在有外挂,本来有挂解密1.趣玩玩 选牌创建新账号,点击进入...
一分钟揭秘辅助!新海贝之城辅助... 一分钟揭秘辅助!新海贝之城辅助透视挂,众乐乐真的是有外挂,确实有挂总结1、超多福利:超高返利,海量正...
重大发现透视挂!鱼扑克辅助透视... 重大发现透视挂!鱼扑克辅助透视挂,云龙逮杠麻将是真的有外挂,都是证实有挂1、鱼扑克模拟器是什么优化,...
一分钟教你开挂!新途辅助透视挂... 一分钟教你开挂!新途辅助透视挂,黑河麻将真的是有外挂,都是有挂秘籍新途脚本下载中分为三种模型:新途挂...
让我来分享经验开挂!云龙干瞪眼... 让我来分享经验开挂!云龙干瞪眼辅助透视挂,微乐石家庄麻将确实有外挂,一贯有挂技术云龙干瞪眼是不是有人...