Java Android资源$NotFoundException

Java Android资源$NotFoundException,java,android,eclipse,android-layout,android-intent,Java,Android,Eclipse,Android Layout,Android Intent,我正在创建一个应用程序,玩家可以在其中将自己的名字输入到编辑文本中。此信息将通过extras检索并发送到第二个活动。每当我运行这个程序时,我都会得到一个Resources$NotFoundException。我很确定这是我的代码还是我的资源文件夹 这是我的代码(更新时没有TOAST语句) 这是你的第一个祝酒词: Toast.makeText(this, number, Toast.LENGTH_SHORT).show(); 在这里,第二个参数是一个整数(number),因此它认为这是一个字符串

我正在创建一个应用程序,玩家可以在其中将自己的名字输入到编辑文本中。此信息将通过extras检索并发送到第二个活动。每当我运行这个程序时,我都会得到一个Resources$NotFoundException。我很确定这是我的代码还是我的资源文件夹

这是我的代码(更新时没有TOAST语句)


这是你的第一个祝酒词:

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

在这里,第二个参数是一个整数(
number
),因此它认为这是一个字符串ID。尝试用
number+“
”替换
number
”。更好的方法是使用
string.valueOf(number)
。好的。。。谢谢,这是一个我没有发现的错误,但是我只是把Toast语句放进去看看问题是发生在Toast语句之前还是之后。当我删除Toast语句时,appforce关闭。有什么建议吗?请更正/删除该Toast行并发布新的LogCat输出,以便我们可以看到强制关闭错误的位置。@Drew-同样,您的Toast调用是
Toast.makeText(this,i,Toast.LENGTH_SHORT).show()。由于
i
是一个整数,您需要使用上述Arhimed或我的解决方案将其转换为字符串。@Arhimed comment解决了我的问题。问题是文本视图“setText”使用int参数而不是字符串/字符序列。使用了“String.valueOf”,就这样。谢谢你们,这个错误的原因很荒谬。。至少android应该给出合理的错误消息。我在这个错误上浪费了2-3个小时,我应该早点访问这里:(
@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();
}
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
Toast.makeText(this, number, Toast.LENGTH_SHORT).show();