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、起透看视 微友南...
推荐几款新版辅助app!老友汇... 推荐几款新版辅助app!老友汇多功能辅助app,老友汇总是真的有辅助app老友汇能透视中分为三种模型...
记者揭秘透视器插件!杭州麻将多... 记者揭秘透视器插件!杭州麻将多功能透视器插件,杭州麻将其实有透视器插件1、进入游戏-大厅左侧-新手福...
我来教教大家外挂app!欢乐碰... 我来教教大家外挂app!欢乐碰胡多功能外挂app,欢乐碰胡本来有外挂app1、在欢乐碰胡插件功能辅助...
盘点一款作弊器教程!小白大作战... 盘点一款作弊器教程!小白大作战多功能作弊器教程,小白大作战切实有作弊器教程1、实时小白大作战透视辅助...
玩家必备攻略透视挂工具!博乐温... 玩家必备攻略透视挂工具!博乐温州棋牌多功能透视挂工具,博乐温州棋牌总是是有透视挂工具1、博乐温州棋牌...
每日必看教程作弊器脚本!边锋c... 每日必看教程作弊器脚本!边锋cr在线多功能作弊器脚本,边锋cr在线原来真的有作弊器脚本1、首先打开边...
总算了解透视挂技巧!掌上约牌多... 总算了解透视挂技巧!掌上约牌多功能透视挂技巧,掌上约牌都是有透视挂技巧1、完成掌上约牌有辅助插件,帮...
玩家必看教程作弊器攻略!指尖四... 玩家必看教程作弊器攻略!指尖四川麻将多功能作弊器攻略,指尖四川麻将原来有作弊器攻略1、该软件可以轻松...
指导大家作弊器插件!朱雀吴江三... 指导大家作弊器插件!朱雀吴江三缺一多功能作弊器插件,朱雀吴江三缺一切实是有作弊器插件1、进入到朱雀吴...