Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio:通过另一个变量传递变量不会';行不通_Java_Android - Fatal编程技术网

Java Android Studio:通过另一个变量传递变量不会';行不通

Java 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

我为MainActivity创建了一个方法,将字符串传递给SecondActivity

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”