android - 回到 Activity 时, Intent 额外丢失..

标签 android android-intent

我有几个 Activity 。 Activity 一 开始于:

Intent intent_user = new Intent(Friends_Activity.this, UserProfile_Activity.class);
intent_user.putExtra("id", id); //id="1"
startActivity(intent_user);

接下来,用户可以调用 Activity B(在这个 Activity 中,也可以调用 Activity A,但“id”是其他的)

Intent intent_user = new Intent(Friends_Activity.this, UserProfile_Activity.class);
intent_user.putExtra("id", id); //id="2"
startActivity(intent_user);

现在如果我点击两次后退键,我返回第一个 Activity A,但 id 不是 = 1,id = 2..

如何保存 id 的先前值??

抱歉我的英语不好...

最佳答案

好吧,我创建了一个包含三个 Activity 的简单应用程序:MainActivity (A)、TwoActivity (B) 和 ThreeActivity (C)。布局中的默认 TextView 我更改为按钮并将它们的值更改为“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);

        }
    });

启动时,先是toast为空,然后是:B(1)、C(2)、B(3)、C(2)、B(3)等。

您如何检索 id 的先前值?您可以通过 getIntent() 及其附加功能保存它(当然,如果它是 String)。

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

关于android - 回到 Activity 时, Intent 额外丢失..,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21556084/

相关文章:

android - 使用 android.graphics.Movie 显示 .gif

android - 将YouTube视频嵌入到适用于Android的Adobe Air应用程序中(无错误)

android - 具有多个过滤器或多个广播接收器的广播接收器?

Android Intent 默认值 - 检测并清除

android - 带有复选框、单选按钮、 TextView 和按钮的 ListView 在 android 中无法正常工作

android - Users\[username] 目录下的两个 .AndroidStudio 文件夹

android - 备份代理 : "unable to restore package ..."

Android - 如何从文档中获取选定的文件名

android-intent - 从 Play 商店安装时应用程序崩溃

Android从收到的共享 Intent 中获取应用程序的包名