0

我有 3 个活动。我正在尝试从第一个 Activity 到第二个 Activity 获取字符串值。然后我想要第三个活动中的第一个活动和第二个活动的字符串值。

代码在我的活动中应该如何实现这一点?

我的流程是首先执行第一个 Activity,然后在第一个中启动第二个 Activity,最后在第二个中启动第三个 Activity。

任何帮助,将不胜感激。

4

5 回答 5

1

请使用 Intent 放置字符串,例如:

Intent i=new Intent(Activity1.this,Activity2.class);
i.putExtra("string1",//here add your string);

并且相同的代码粘贴第二个活动以传递两个字符串,例如:

String test=getIntent.getStringExtras("string1");

Intent i=new Intent(Activity2.this,Activity3.class);
i.putExtra("string1",test);
i.putExtra("string2",//here add your string);

和为activity3获取两个值一样:

 String test=getIntent.getStringExtras("string1");
 String test2=getIntent.getStringExtras("string2");
于 2013-01-12T05:31:13.853 回答
1

您可以向意图添加额外内容,对于 Activity1,使用以下代码段:

Intent intent = new Intent(this, Activity2.class);
intent.putExtra("SuperSecretValue", /* put your string here */);
startActivity(intent);

在 Activity2 中,使用以下代码段:

String superSecretValue = getIntent().getStringExtra("SuperSecretValue");
Intent intent = new Intent(this, Activity3.class);
intent.putExtra("SuperSecretValue", superSecretValue);
intent.putExtra("AnotherSuperSecretValue", /* put your string here */);
startActivity(intent);

在 Activity3 中,使用以下代码段:

String superSecretValue = getIntent().getStringExtra("SuperSecretValue");
String anotherSuperSecretValue = getIntent().getStringExtra("AnotherSuperSecretValue");

查看文档以获取有关您可以使用意图做什么的更多信息。对于这种特定情况,您可以向 Intent 对象添加额外的键、值对(称为“extras”),可以在使用 Intent 对象启动的 Activity 中按名称检索这些键、值对。

于 2013-01-12T05:37:49.470 回答
1

您应该创建一个 Intent,然后使用 putExtra 方法。

这是一个例子。

在activity1中设置你的变量传递给activity2

String yourString = "Hello World";
Intent intent = new Intent(activity1.this,activity2.class);
intent.putExtra("RandomName",yourString);
startActivity(intent);

现在进行活动 2

Intent getIntent = getIntent();
String passedString = getIntent.getString("RandomName");

重复您的第三项活动。

你可以在这里阅读更多

于 2013-01-12T05:37:53.713 回答
0

必须首先创建活动才能具有值...传递值的意图是这样的

Intent i = new Intent("my.activity.TWO");
i.putExtra("extraString1", myString);
startActivity(i);

然后在第二幕。

Intent geti = getIntent();
    Bundle b = geti.getExtras();
    grade = b.getString("extraString1");
于 2013-01-12T05:35:47.807 回答
0

通过使用 Bundle 概念,您可以实现这一目标......

示例:将数据从 MainActivity 发送到 Next page for here Secondage

Intent i=new Intent("android.intent.action.Secondpage.class");

                Bundle b=new Bundle();
                b.putString("key1",ed1.getText().toString());
                b.putString("key2",ed2.getText().toString());
                b.putString("key3",ed3.getText().toString());
                int m=Integer.valueOf(ed4.getText().toString());
                b.putInt("key4",m);
                int n=Integer.valueOf(ed5.getText().toString());
                b.putInt("key5",n);
                i.putExtras(b);
                startActivity(i);


            }
        });

在您的 SecondPage 中,您可以接收此值 getIntent().getExtras() 函数

  Bundle b=getIntent().getExtras();

           String s1=b.getString("key1");
           String s2=b.getString("key2");
           String s3=b.getString("key3");
           int s4=b.getInt("key4");
           int s5=b.getInt("key5");

           tv1.setText(s1);
           tv2.setText(s2);
           tv3.setText(s3);
           tv4.setText(""+s4);
           tv5.setText(""+s5);

这肯定会帮助你尝试这个

于 2013-01-12T05:43:06.993 回答