java – Android资源$NotFoundException

前端之家收集整理的这篇文章主要介绍了java – Android资源$NotFoundException前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个初学者,所以请忍受我.我正在创建一个应用程序,玩家将其名字输入到编辑文本中.该信息被检索并通过附加发送到第二个活动.每当我运行这个,我得到一个资源$NotFoundException.我确定如果这是从我的代码或从我的资源文件夹.

这是我的代码(UPDATED WITHOUT TOAST STATEMENTS)

  1. private void getNames(int number){
  2.  
  3. Intent intent = new Intent(Setup.this,Test.class);
  4. intent.putExtra("numberofplayers",number);
  5.  
  6. try {
  7.  
  8.  
  9. if(!player1.getText().toString().contentEquals(""))
  10. p1 = player1.getText().toString();
  11. else
  12. p1= "Player 1";
  13. if(!player2.getText().toString().contentEquals(""))
  14. p2 = player2.getText().toString();
  15. else
  16. p2= "Player 2";
  17. if(!player3.getText().toString().contentEquals(""))
  18. p3 = player3.getText().toString();
  19. else
  20. p3= "Player 3";
  21. if(!player4.getText().toString().contentEquals(""))
  22. p4 = player4.getText().toString();
  23. else
  24. p5= "Player 5";
  25. if(!player6.getText().toString().contentEquals(""))
  26. p6 = player6.getText().toString();
  27. else
  28. p6= "Player 6";
  29. if(!player7.getText().toString().contentEquals(""))
  30. p7 = player7.getText().toString();
  31. else
  32. p7= "Player 7";
  33. if(!player8.getText().toString().contentEquals(""))
  34. p8 = player8.getText().toString();
  35. else
  36. p8= "Player 8";
  37.  
  38.  
  39. switch (number) {
  40. case 2:
  41. String[] a = {p1,p2};
  42. names=a;
  43. break;
  44. case 3:
  45. String[] b = {p1,p2,p3};
  46. names=b;
  47. break;
  48. case 4:
  49. String[] c = {p1,p3,p4};
  50. names=c;
  51. break;
  52. case 5:
  53. String[] d= {p1,p4,p5};
  54. names=d;
  55. break;
  56. case 6:
  57. String[] e = {p1,p5,p6};
  58. names=e;
  59. break;
  60. case 7:
  61. String[] f = {p1,p6,p7};
  62. names=f;
  63. break;
  64. case 8:
  65. String[] g = {p1,p7,p8};
  66. names=g;
  67. break;
  68. }
  69. } catch (Exception e) {
  70. Log.e("Setup.class Error:",e.getMessage());
  71. }
  72. //Toast.makeText(this,number + "",Toast.LENGTH_SHORT).show();
  73.  
  74. //for(int q =0;q<names.length;q++)
  75. // Toast.makeText(this,names[q],Toast.LENGTH_SHORT).show();
  76.  
  77.  
  78. intent.putExtra("namearray",names);
  79. startActivity(intent);
  80. }

以下是接收活动的代码

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4.  
  5. Bundle ext = getIntent().getExtras();
  6. int i= ext.getInt("numberofplayers");
  7. String[] names = ext.getStringArray("namearray");
  8.  
  9. Toast.makeText(this,i,Toast.LENGTH_SHORT).show();
  10.  
  11. for(int q =0;q<names.length;q++)
  12. Toast.makeText(this,Toast.LENGTH_SHORT).show();
  13.  
  14. }

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

  1. 06-06 21:21:07.267: E/AndroidRuntime(2538): FATAL EXCEPTION: main
  2. 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
  3. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
  4. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
  5. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.access$600(ActivityThread.java:123)
  6. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
  7. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.os.Handler.dispatchMessage(Handler.java:99)
  8. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.os.Looper.loop(Looper.java:137)
  9. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.main(ActivityThread.java:4424)
  10. 06-06 21:21:07.267: E/AndroidRuntime(2538): at java.lang.reflect.Method.invokeNative(Native Method)
  11. 06-06 21:21:07.267: E/AndroidRuntime(2538): at java.lang.reflect.Method.invoke(Method.java:511)
  12. 06-06 21:21:07.267: E/AndroidRuntime(2538): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
  13. 06-06 21:21:07.267: E/AndroidRuntime(2538): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
  14. 06-06 21:21:07.267: E/AndroidRuntime(2538): at dalvik.system.NativeStart.main(Native Method)
  15. 06-06 21:21:07.267: E/AndroidRuntime(2538): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2
  16. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.content.res.Resources.getText(Resources.java:247)
  17. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.widget.Toast.makeText(Toast.java:260)
  18. 06-06 21:21:07.267: E/AndroidRuntime(2538): at com.brightdesign.truthordare.Test.onCreate(Test.java:16)
  19. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.Activity.performCreate(Activity.java:4465)
  20. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
  21. 06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
  22. 06-06 21:21:07.267: E/AndroidRuntime(2538): ... 11 more

提前致谢!

解决方法

这是您的第一个Toast电话:
  1. Toast.makeText(this,number,Toast.LENGTH_SHORT).show();

这里,第二个参数是一个整数(number),所以它认为是一个字符串ID.尝试用数字“”替换号码.

猜你在找的Android相关文章