gpt4 book ai didi

android - onRestoreInstanceState 未被调用

转载 作者:行者123 更新时间:2023-11-29 02:11:31 25 4
gpt4 key购买 nike

继续上一个问题

第一个屏幕 Activity 我正在单击一个按钮并执行此操作

Intent intent = new Intent(MainMenu.this, NewClass.class);
intent.putExtra("value1", value1);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

值被传递给新 Activity 并在 onCreate() 方法中使用

在新的 Activity 上,我在点击后退按钮时保存状态

@Override
protected void onSaveInstanceState(Bundle outState) {
// the UI component values are saved here.
super.onSaveInstanceState(outState);
Toast.makeText(this, "Activity state saved", Toast.LENGTH_LONG).show();
}

@Override
public void onBackPressed() {
//super.onBackPressed();
Intent intent = new Intent(RoundScoring.this, MainMenu.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
Toast.makeText(this, "Back Button Pressed", Toast.LENGTH_LONG).show();
}

再次在第一个屏幕上,我单击了具有以下内容的不同按钮:

Intent intentContiune = new Intent(MainMenu.this, NewClass.class);
intentContiune.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intentContiune);

Activty 已加载但始终失败,因为尚未设置值。我写了一个 onRestorInstanceState 来重新填充包中的值,但它从未被触发。有人可以说我做错了什么

谢谢你的时间

更新

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
Log.d(DEBUG_TAG, "returnstate called");
super.onRestoreInstanceState(savedInstanceState);
value = savedInstanceState.getString("value");


}

最佳答案

使用应用

你的Application.java

public yourApplication extends Application {
String Value;
public synchronized String getValue(){
return Value;
}
public synchronized void setValue(String Value){
this.Value = Value;
}
}

AndroidManifest.xml

<application android:name="yourApplication" ...

现在您可以使用以下方式在任何地方节省值(value):

保存

((yourApplication) getApplicationContext()).setValue("something");

加载

((yourApplication) getApplicationContext()).getValue();

关于android - onRestoreInstanceState 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com