我有 3 个活动。我正在尝试从第一个 Activity 到第二个 Activity 获取字符串值。然后我想要第三个活动中的第一个活动和第二个活动的字符串值。
代码在我的活动中应该如何实现这一点?
我的流程是首先执行第一个 Activity,然后在第一个中启动第二个 Activity,最后在第二个中启动第三个 Activity。
任何帮助,将不胜感激。
我有 3 个活动。我正在尝试从第一个 Activity 到第二个 Activity 获取字符串值。然后我想要第三个活动中的第一个活动和第二个活动的字符串值。
代码在我的活动中应该如何实现这一点?
我的流程是首先执行第一个 Activity,然后在第一个中启动第二个 Activity,最后在第二个中启动第三个 Activity。
任何帮助,将不胜感激。
请使用 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");
您可以向意图添加额外内容,对于 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 中按名称检索这些键、值对。
您应该创建一个 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");
重复您的第三项活动。
你可以在这里阅读更多
必须首先创建活动才能具有值...传递值的意图是这样的
Intent i = new Intent("my.activity.TWO");
i.putExtra("extraString1", myString);
startActivity(i);
然后在第二幕。
Intent geti = getIntent();
Bundle b = geti.getExtras();
grade = b.getString("extraString1");
通过使用 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);
这肯定会帮助你尝试这个