在查看此活动时,我会点击手机上的主页按钮将我带到手机的主屏幕。当我在 30 多分钟后重新打开应用程序时,下面的字符串不会打印出我在 30 多分钟前在屏幕上看到的玩家轮到,而是打印出“玩家 0 轮到”,这不是我的应用程序的有效玩家编号. 这让我相信当我重新打开应用程序时,它没有从我存储数据的 GlobalClass 中获取 whoth_turn 数据。
private int whose_turn;
private TextView tv1;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_screen);
tv1 =(TextView)findViewById(R.id.game_msg);
whose_turn = GlobalClass.whoseturn;
tv1.setText("Player " + Integer.toString(whose_turn) + "'s Turn");
}
我确信它与活动的生命周期有关,但我不确定在这 30 多分钟内它经历了哪些阶段,或者如何确保它显示正确的数据。
有人能告诉我这里发生了什么吗?我已经尝试阅读与此问题相关的文档以及使用 savedInstanceState 的其他一些实验性解决方案,但我没有运气。