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 被摧毁和重新创建时保持计数器的值。

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

相关内容

热门资讯

透视新版(wepower有外挂... 透视新版(wepower有外挂)aapoker辅助工具(详细辅助解密教程)好像是有挂是一款可以让一直...
德扑之星有猫腻!德扑之星如何分... WePoke高级策略深度解析‌;德扑之星有猫腻!德扑之星如何分别是否,(wePOke)原先有挂(详细...
透视有挂(aapoker发牌机... 透视有挂(aapoker发牌机制)wopoker系统机制(详细辅助德州论坛)从来真的是有挂;人气非常...
wpk辅助挂!wepoke辅助... wepoke辅助技巧新手教程相关信息汇总(需添加指定Q群1067239143获取下载链接);wpk辅...
透视讲解(aapoker外挂)... 透视讲解(aapoker外挂)wepoke德州扑克系统规律(详细辅助玩家教你)一贯真的有挂是一款可以...
wpk发牌逻辑!轰趴大菠萝怎么... wpk发牌逻辑!轰趴大菠萝怎么提高胜率,(aapoKer)原先真的是有挂(详细辅助攻略方法)1、这是...
透视能赢(德州ai机器人)德州... 透视能赢(德州ai机器人)德州aapoker俱乐部(详细辅助必胜教程)原先是真的有挂;无聊就玩这款真...
微扑克ai机器人!微扑克辅助真... 微扑克ai机器人!微扑克辅助真的,(wPk)从来是真的有挂(详细透视黑科技教程)关于微扑克ai机器人...
透视规律(德扑之星ai代打)德... 透视规律(德扑之星ai代打)德扑之星专业代打(详细辅助黑科技教程)总是存在有挂,您好,这款游戏可以开...
德扑ai助手!wepoke系统... 德扑ai助手!wepoke系统,(WePoKer)从前是有挂(详细辅助曝光教程);建议优先通过德扑a...