我为MainActivity创建了一个方法,将String传递给我的SecondActivity。
public void convertCurrency(View view)
{
intent.putExtra("NO", "My String");
startActivity(intent);
}
但是我的OnCreate方法中的SecondActivity
Button back = (Button) findViewById(R.id.back);
TextView t = (TextView) findViewById(R.id.first_text);
Intent intent = new Intent(this, MainActivity.class);
String g = intent.getStringExtra("NO");
t.setText(g);
什么都没发生。但是为什么?
答案 0 :(得分:1)
以这种方式得到你的变量:
String yourVriable = getIntent().getStringExtra("NO")
不要新你的意图
答案 1 :(得分:0)
你正在创造新的意图。
在onCreate方法调用中
String data = getIntent().getStringExtra(key);
答案 2 :(得分:0)
替换Intent intent = new Intent(this, MainActivity.class);
按Intent intent = getIntent();
当您执行intent.getStringExtra("NO");
时,您的意图对象是新的,因此他的Extra是空的。
答案 3 :(得分:0)
您需要更改两个活动中的代码。您需要创建意图并将字符串放入其中,因此您的代码将是。
public void convertCurrency(View view) {
Intent intent = new Intent(this, Main2Activity.class);
intent.putExtra("NO","My String");
startActivity(intent);
}
请注意,在意图构造函数中,第一个参数是当前活动,第二个参数是您要启动的活动。因此,在第二个活动中,您需要接收字符串。代码就是,
Button back = (Button) findViewById(R.id.back);
TextView t = (TextView) findViewById(R.id.first_text);
String g = getIntent().getStringExtra("NO")
t.setText(g);
答案 4 :(得分:0)
我自己解决了这个问题。如果有两个具有相同名称的Intent对象,即使它们位于不同的方法中,也会发生错误。