Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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
使用putExtra的Android应用程序崩溃_Android_Android Intent - Fatal编程技术网

使用putExtra的Android应用程序崩溃

使用putExtra的Android应用程序崩溃,android,android-intent,Android,Android Intent,我正试着为自己做一个小应用程序,但我不能在一个意图上做一个额外的应用程序,当我尝试这样做时,它崩溃了。在一些搜索之后,我找不到我做错了什么,我正在粘贴工作完美但仍然崩溃的代码 要放置附加项的主要活动代码: Intent i = new Intent(getApplicationContext(), ShinyCounter.class); i.putExtra("pokemon", poke); i.putExtra("method", meth); i.putExtra("methodAbr

我正试着为自己做一个小应用程序,但我不能在一个意图上做一个额外的应用程序,当我尝试这样做时,它崩溃了。在一些搜索之后,我找不到我做错了什么,我正在粘贴工作完美但仍然崩溃的代码

要放置附加项的主要活动代码:

Intent i = new Intent(getApplicationContext(), ShinyCounter.class);

i.putExtra("pokemon", poke);
i.putExtra("method", meth);
i.putExtra("methodAbrev", methAbrev);
startActivity(i);
所有变量都来自EditText,如下所示:

String poke = pokeName.getText().toString();
在我的ShinyCounter活动中获取额外信息:

Bundle extras = getIntent().getExtras();

String pokeName = extras.getString("pokemon");
String method = extras.getString("method");
String methodAbrev = extras.getString("methodAbrev");

错误是:java.lang.RuntimeException:无法实例化活动组件信息:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.os.Bundle android.content.Intent.getExtras()”

您可以在主活动中执行以下操作

 Intent i = new Intent(getApplicationContext(), ActivityTwo.class);  
      i.putExtra("Value1", "Android ExplicitIntent");  
      // Set the request code to any code you like, you can identify the  
      // callback via this code  
      startActivity(i);  

您可以在Activity2中执行以下操作

 Bundle extras = getIntent().getExtras();  
String value1 = extras.getString("Value1");  

您得到的是什么错误..?我得到的是错误:“java.lang.RuntimeException:无法实例化活动组件信息:java.lang.NullPointerException:尝试在调用
getIntent()的空对象引用上调用虚拟方法“android.os.Bundle android.content.Intent.getExtras()”
在您的
ShinyCounterActivity
中发布更多接收代码。你可能是在用一种方法做这件事哦,就是这么简单是的。。我不是第一次犯这种错误。但是如果我想在Onclick事件中使用我在OnCreate方法中获得的额外功能,我该怎么办呢?还是同样的错误,我不知道为什么它会显示NullPointerException,即使我做了一个putExtra,但没有一个变量,以确保它不为null,这是不起作用的。请确保您只在putExtra中放入字符串,而在检索时只使用字符串类型变量。如果您必须放入int和其他变量,那么您必须使用不同的putExtras方法,并确保您在第二个的oncreate方法中执行操作setContentView之后的活动(R.layout。-----);是在oncreate之外做的这就是为什么,谢谢你的提示