android - 获取 android.content.res.Resources$NotFoundException : exception even when the resource is present in android

标签 android exception layout resources landscape

请让我知道我哪里出错了。

我正在创建一个应用程序,其中一项 Activity 仅处于横向模式。所以我在 AndroidManifest.xml 文件中添加了以下内容

<activity android:name=".LandScapeImageActivity" android:screenOrientation="landscape"></activity>

我已经创建了一个类似

的文件夹

/res/layout-land

并在其中添加一个名为 see_today_landscape_layout 的布局。

并在 onCreate() 我添加了以下内容

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.see_today_landscape_layout);
....
}

但是当我运行我的应用程序时,我收到以下错误

02-06 13:46:14.358: E/AndroidRuntime(13286): FATAL EXCEPTION: main
02-06 13:46:14.358: E/AndroidRuntime(13286): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mid.kew.activities/com.mid.kew.activities.LandScapeImageActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4066)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.ActivityThread.access$2400(ActivityThread.java:135)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2140)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.os.Looper.loop(Looper.java:144)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.ActivityThread.main(ActivityThread.java:4937)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at java.lang.reflect.Method.invokeNative(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at java.lang.reflect.Method.invoke(Method.java:521)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at dalvik.system.NativeStart.main(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.content.res.Resources.getValue(Resources.java:892)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.content.res.Resources.getLayout(Resources.java:731)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.Activity.setContentView(Activity.java:1654)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at com.mid.kew.activities.LandScapeImageActivity.onCreate(LandScapeImageActivity.java:103)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
02-06 13:46:14.358: E/AndroidRuntime(13286):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
02-06 13:46:14.358: E/AndroidRuntime(13286):    ... 12 more

我在 R.java 中进行了检查,它具有异常正在寻找的 ID 为 7f03002b 的资源,并且它存在于其中...

我清理并重建项目 5 次,但问题仍然存在。

奇怪的是,这在昨天有效,而今天无效。代码是一样的。

最佳答案

对于我的情况,原因是 TextView 采用 int 参数。举个例子吧

int i = 5;
myTextView.setText(i);

获取上面的错误信息。

这可以通过像这样将 int 转换为 String 来解决

myTextView.setText(String.valueOf(i));

当您编写 int 时,它需要一个资源而不是您正在编写的文本。因此,在 Android 中将 int 设置为 String 时要小心。

关于android - 获取 android.content.res.Resources$NotFoundException : exception even when the resource is present in android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161435/

相关文章:

java - Android 与 websocket 通信(Node Websocket 服务器和 Android Java 客户端)。不适用于 Android 4

java - 在Android中使用Gson读取自定义类的ArrayList

php - 作为错误处理程序或自定义错误处理类的异常?

visual-studio - Silverlight 不会显示异常

c++ - 是否可以同时抛出两个值?

r - 如何在 R/Shiny 中布局动态生成的 UI 元素?

android - Ionic CSS 动画无法在设备上运行

android - 改造文件上传,对象在服务器端为空

html - 为什么空按钮不与内部有文本的按钮垂直对齐?

java - 像 Java Swing 中的 GTK 一样垂直堆叠?