2017-06-17 86 views
0

我想为自己做一个小应用程序,我不能做一个putExtra的意图,它崩溃时,我尝试做到这一点。一些搜索后,我无法找到我做错了,我将代码粘贴谁的作品完美,仍然崩溃Android应用程序崩溃与putExtra

主要活动代码把演员:

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:无法实例化活动ComponentInfo:java.lang.NullPointerException:尝试调用虚拟方法'android.os.Bundle android.content.Intent.getExtras()'null对象引用

+0

你做了什么错误..? –

+0

我收到错误:“java.lang.RuntimeException:无法实例化活动ComponentInfo:java.lang.NullPointerException:试图调用虚拟方法'android.os.Bundle android.content.Intent.getExtras()'上的一个空对象引用“ – Wayne

+0

你要在'ShinyCounterActivity'中调用'getIntent()'吗? –

回答

0

你可以做类似下面的主要活动

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); 

你可以做类似下面的ActivityTwo

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

仍然是同样的错误,我不知道它为什么说NullPointerException,即使我做了一个putExtra没有一个变量,以确保它不是空的不起作用 – Wayne

+0

确保你只在putExtra中放置字符串,并在检索时字符串类型变量only.If你必须把int和其他变量,所以你必须使用不同的putExtras方法,并确保你正在做的第二个活动的oncreate方法操作setContentView(R.layout。 - ); –

+0

在oncreate外面这样做,这就是为什么,谢谢你的提示 – Wayne