我有几个活动。 活动A. 是开始的:
Intent intent_user = new Intent(Friends_Activity.this, UserProfile_Activity.class);
intent_user.putExtra("id", id); //id="1"
startActivity(intent_user);
接下来,用户可以调用活动B(在此活动中,也可以调用活动A,但“id”是其他活动)
Intent intent_user = new Intent(Friends_Activity.this, UserProfile_Activity.class);
intent_user.putExtra("id", id); //id="2"
startActivity(intent_user);
现在如果我点击两次后退键,我会在第一个活动A中返回,但是id不是= 1,id = 2 ..
我如何保存以前的id?
值抱歉我的英语不好......
答案 0 :(得分:2)
好吧,我创建了一个包含三个活动的简单应用程序:MainActivity(A),TwoActivity(B)和ThreeActivity(C)。布局中的默认文本视图我更改为按钮并将其值更改为“main”,“2”和“3”。流动是A-> B-> C-> B-> C-> B ...
在每个onCreate方法中,我添加了以下几行:
Intent intent = getIntent();
if (intent != null) {
Toast.makeText(this, intent.getStringExtra("id"), Toast.LENGTH_LONG)
.show();
}
Button button = (Button) findViewById(R.id.button_three);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent_user = new Intent(ThreeActivity.this,
TwoActivity.class); //this is for three activity.
//Intent intent_user = new Intent(TwoActivity.this, ThreeActivity.class); //for two activity
//Intent intent_user = new Intent(MainActivity.this, TwoActivity.class);//for main activity
intent_user.putExtra("id", "3");
startActivity(intent_user);
}
});
开始时,第一个吐司是空的,然后是:B(1),C(2),B(3),C(2),B(3)等。
你是如何检索以前的id值的?您可以通过getIntent()及其附加内容保存它(当然,如果它是String)。