Java Android Studio:通过另一个变量传递变量不会';行不通
我为MainActivity创建了一个方法,将字符串传递给SecondActivityJava Android Studio:通过另一个变量传递变量不会';行不通,java,android,Java,Android,我为MainActivity创建了一个方法,将字符串传递给SecondActivity public void convertCurrency(View view) { intent.putExtra("NO", "My String"); startActivity(intent); } 但是在我的OnCreate方法的第二个活动中 Button back = (Button) findViewById(R.id.back); TextView t = (Text
public void convertCurrency(View view)
{
intent.putExtra("NO", "My String");
startActivity(intent);
}
但是在我的OnCreate方法的第二个活动中
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);
什么也没发生。但是为什么呢?以这种方式获取变量:
String yourVriable = getIntent().getStringExtra("NO")
不要改变你的意图你正在创造新的意图 在onCreate方法调用中
String data = getIntent().getStringExtra(key);
替换
Intent Intent=新Intent(此,MainActivity.class)代码>
通过Intent-Intent=getIntent()代码>
当您执行intent.getStringExtra(“否”)代码>您的意图对象是新的,因此他的额外对象是空的。您需要更改这两个活动中的代码。您需要创建intent并将字符串放入其中,这样您的代码将被删除
public void convertCurrency(View view) {
Intent intent = new Intent(this, Main2Activity.class);
intent.putExtra("NO","My String");
startActivity(intent);
}
请注意,在intent构造函数中,第一个参数是当前活动,第二个参数是您正在启动的活动。因此,在第二个活动中,您需要接收字符串。代码是
Button back = (Button) findViewById(R.id.back);
TextView t = (TextView) findViewById(R.id.first_text);
String g = getIntent().getStringExtra("NO")
t.setText(g);
我自己解决这个问题。如果您有两个同名的Intent对象,即使它们位于不同的方法中,也会发生错误。我尝试过,但收到错误消息“Currency Converter Keeps Stopping”。是否可以包含StackTrace我尝试过,但收到错误消息“Currency Converter Keeps Stopping”可能您忘记将第二个活动添加到清单?我尝试过,但收到错误消息“Currency Converter Keeps stopping”。我尝试过,但收到错误消息“Currency Converter Keeps stopping”