Cod*_*ife 4 android workflow-activity android-activity
我有两个活动A,B.现在从A i按下按钮(使用startActivity()
)调用B ,然后按返回键返回到A. 现在当我再次按下按钮转到B时,会调用新的活动(如预期的那样).
现在有人能告诉我如何显示旧的B状态吗?
我已经阅读了这篇文章 使用保存实例状态保存Android活动状态,但无法帮助自己:(
public class B extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
if(savedInstanceState!=null){
EditText editText=(EditText)findViewById(R.id.editText1);
editText.setText(savedInstanceState.getString("EditBox"));
}
}
@Override
protected void onSaveInstanceState(Bundle onSaveInstanceState) {
System.out.println("B.onSaveInstanceState()");
super.onSaveInstanceState(onSaveInstanceState);
onSaveInstanceState.putString("EditBox","Hello");
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
System.out.println("B.onRestoreInstanceState()");
super.onRestoreInstanceState(savedInstanceState);
EditText editText=(EditText)findViewById(R.id.editText1);
editText.setText(savedInstanceState.getString("EditBox"));
}}
Run Code Online (Sandbox Code Playgroud)
我的A级
public class A extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button=(Button)findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(StartActivityforresultActivity.this,B.class);
startActivity(i);
}
});
}
Run Code Online (Sandbox Code Playgroud)
听起来你有什么想法,你有两个选择:1.当调用B的onDestroy或onBackPressed时保存B的状态.您必须将其保存到内存中或使用某种持久性(SharedPreferences,本地文件等)将其写出来.然后每当B启动时,检查该数据是否存在并使用它来加载状态.2.覆盖onBackPressed,以便在按下它时不会调用super.onBackPressed.而是在调用startActivity之前启动活动A的实例并将intent的标志设置为FLAG_ACTIVITY_REORDER_TO_FRONT.所以像这样:
Intent intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
现在,当你回击时,它应该找到活动堆栈中的A实例并将其带到前面.每次启动B时,您可能必须添加相同的标志.
归档时间: |
|
查看次数: |
1796 次 |
最近记录: |