java - 在 Android 4 上设置 FrameLayout 背景时出错

标签 java android

这是我正在使用的代码:

progressFrame = (FrameLayout) findViewById(R.id.progressFrame);
progressFrame.setBackgroundResource(R.drawable.startprogress);

在 Android 2.3.3 上一切正常,但在 Android 4 上尝试运行“setBackgroundResource”行时会崩溃。这是 logcat 消息:

07-06 17:31:28.159: W/dalvikvm(11848): threadid=1: thread exiting with uncaught exception (group=0x40be81f8)
07-06 17:31:28.167: E/AndroidRuntime(11848): FATAL EXCEPTION: main
07-06 17:31:28.167: E/AndroidRuntime(11848): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bosi.sweetsmell/com.bosi.sweetsmell.activity.RubActivity}: java.lang.NullPointerException
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.ActivityThread.access$600(ActivityThread.java:128)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.os.Looper.loop(Looper.java:137)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.ActivityThread.main(ActivityThread.java:4514)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at java.lang.reflect.Method.invokeNative(Native Method)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at java.lang.reflect.Method.invoke(Method.java:511)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at dalvik.system.NativeStart.main(Native Method)
07-06 17:31:28.167: E/AndroidRuntime(11848): Caused by: java.lang.NullPointerException
07-06 17:31:28.167: E/AndroidRuntime(11848):    at com.bosi.sweetsmell.activity.RubActivity.onCreate(RubActivity.java:35)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.Activity.performCreate(Activity.java:4465)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
07-06 17:31:28.167: E/AndroidRuntime(11848):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
07-06 17:31:28.167: E/AndroidRuntime(11848):    ... 11 more

希望有人能帮忙!

最佳答案

检查您是否有多个合格的布局文件夹(例如layout-land、layout-hdpi、layout-xhdpi)。如果这样做,您的 4.0 模拟器可能是从一个单独的布局文件夹中提取的,您可能没有在该文件夹中为您的 FrameLayout 正确分配 ID。

关于java - 在 Android 4 上设置 FrameLayout 背景时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366209/

相关文章:

java - RuntimeExpection 无法实例化 Activity

android - 如何在 Android 中保存用户登录状态?

java - Android:无法从 Intent 中设置/检索数据

java - Gradle:下载gradle需要 "very long time",activity_main.xml一直显示 "Loading"

java - 正则表达式模式未断言 true

java - 将程序代码转换为面向对象的技巧

java - 将复选框数据传递给另一个 Activity ?

java - 原生快速广告 View 的广告尺寸是多少?

java - J2ME 组合按键(一次多个按键)

java - 在 Android 中使用命名空间常量的接口(interface)