我在主要活动中有2个变量。我需要将这些变量值传递给下一个活动。我能做到吗?
button.Click += delegate {
var activity2 = new Intent (this, typeof(Activity2));
activity2.PutExtra ("MyData", "Data from Activity1");
StartActivity (activity2);
};
答案 0 :(得分:4)
创建和意图对象并发送你的数据throw putstring()或putExtra()方法
Intent intent = new Intent(this, YourClass.class);
intent.putString("key1", var1);// if its string type
Intent.putExtra("key2", var2);// if its int type
startActivity(intent);
在接收方
Intent intent = getIntent();
String var1 = intent.getStringExtra("key1");
int i = var2.getIntExtra("key2", 0);
答案 1 :(得分:1)
使用以下内容从MainActivity
向Activity2
发送数据
Intent activity2 = new Intent(MainActivity.this, Activity2.class);
activity2.PutExtra("MyData", "Data from Activity1");
StartActivity(activity2);
使用以下内容在Activity2
中接收数据:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
..............
..................
if( getIntent().getExtras() != null)
{
String myData = getIntent().getStringExtra("MyData");
}
...............
.....................
}
答案 2 :(得分:0)
您也可以在包中传递值
FirstActivity.java
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
startActivity(mIntent )
SecondActivity.java
String value = getIntent().getExtras().getString(key)
捆绑包有"得到"和"放"所有原始类型,Parcelables和Serializables的方法。我只是将Strings用于演示目的。
我认为这会对你有帮助..
答案 3 :(得分:0)
FirstActivity
Intent intent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
intent.putExtras(mBundle);
startActivity(intent);
SecondACtivity
String value = getIntent().getStringExtra(key);
答案 4 :(得分:-1)
您可以使用静态变量进行此操作。
MainActivity.java
public static String nameVariable= "Text";
SecondActivity.java
String textFromMainActivity = MainActivity.nameVariable;