Android资源$ NotFoundException

我正在创build一个应用程序,让玩家在编辑文本中input他们的名字。 这些信息被检索并通过额外的方式发送到第二个活动。 每当我运行这个,我得到一个资源$ NotFoundException。 我坚信如果这是从我的代码或从我的资源文件夹。

这是我的代码(更新没有东西声明)

private void getNames(int number){ Intent intent = new Intent(Setup.this, Test.class); intent.putExtra("numberofplayers", number); try { if(!player1.getText().toString().contentEquals("")) p1 = player1.getText().toString(); else p1= "Player 1"; if(!player2.getText().toString().contentEquals("")) p2 = player2.getText().toString(); else p2= "Player 2"; if(!player3.getText().toString().contentEquals("")) p3 = player3.getText().toString(); else p3= "Player 3"; if(!player4.getText().toString().contentEquals("")) p4 = player4.getText().toString(); else p5= "Player 5"; if(!player6.getText().toString().contentEquals("")) p6 = player6.getText().toString(); else p6= "Player 6"; if(!player7.getText().toString().contentEquals("")) p7 = player7.getText().toString(); else p7= "Player 7"; if(!player8.getText().toString().contentEquals("")) p8 = player8.getText().toString(); else p8= "Player 8"; switch (number) { case 2: String[] a = {p1,p2}; names=a; break; case 3: String[] b = {p1,p2,p3}; names=b; break; case 4: String[] c = {p1,p2,p3,p4}; names=c; break; case 5: String[] d= {p1,p2,p3,p4,p5}; names=d; break; case 6: String[] e = {p1,p2,p3,p4,p5,p6}; names=e; break; case 7: String[] f = {p1,p2,p3,p4,p5,p6,p7}; names=f; break; case 8: String[] g = {p1,p2,p3,p4,p5,p6,p7,p8}; names=g; break; } } catch (Exception e) { Log.e("Setup.class Error:", e.getMessage()); } //Toast.makeText(this, number + "", Toast.LENGTH_SHORT).show(); //for(int q =0;q<names.length;q++) // Toast.makeText(this, names[q], Toast.LENGTH_SHORT).show(); intent.putExtra("namearray", names); startActivity(intent); } 

以下是接收活动的代码:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle ext = getIntent().getExtras(); int i= ext.getInt("numberofplayers"); String[] names = ext.getStringArray("namearray"); Toast.makeText(this, i, Toast.LENGTH_SHORT).show(); for(int q =0;q<names.length;q++) Toast.makeText(this, names[q], Toast.LENGTH_SHORT).show(); } 

这里是logcat错误(UPDATED LOGCAT REPORT):

 06-06 21:21:07.267: E/AndroidRuntime(2538): FATAL EXCEPTION: main 06-06 21:21:07.267: E/AndroidRuntime(2538): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.brightdesign.truthordare/com.brightdesign.truthordare.Test}: android.content.res.Resources$NotFoundException: String resource ID #0x2 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.access$600(ActivityThread.java:123) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.os.Handler.dispatchMessage(Handler.java:99) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.os.Looper.loop(Looper.java:137) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.main(ActivityThread.java:4424) 06-06 21:21:07.267: E/AndroidRuntime(2538): at java.lang.reflect.Method.invokeNative(Native Method) 06-06 21:21:07.267: E/AndroidRuntime(2538): at java.lang.reflect.Method.invoke(Method.java:511) 06-06 21:21:07.267: E/AndroidRuntime(2538): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-06 21:21:07.267: E/AndroidRuntime(2538): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-06 21:21:07.267: E/AndroidRuntime(2538): at dalvik.system.NativeStart.main(Native Method) 06-06 21:21:07.267: E/AndroidRuntime(2538): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.content.res.Resources.getText(Resources.java:247) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.widget.Toast.makeText(Toast.java:260) 06-06 21:21:07.267: E/AndroidRuntime(2538): at com.brightdesign.truthordare.Test.onCreate(Test.java:16) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.Activity.performCreate(Activity.java:4465) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 06-06 21:21:07.267: E/AndroidRuntime(2538): ... 11 more 

Solutions Collecting From Web of "Android资源$ NotFoundException"

这是你第一次吐司的电话:

 Toast.makeText(this, number, Toast.LENGTH_SHORT).show(); 

在这里,第二个参数是一个整数( number ),所以它认为这是一个stringID。 尝试用number number+""replacenumber