回到活动时失去了意图。

时间:2014-02-04 15:09:19

标签: android android-intent

我有几个活动。 活动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?

抱歉我的英语不好......

1 个答案:

答案 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)。

我的测试项目https://www.dropbox.com/s/e84rub933b5gav7/text.zip