1

我正在使用 HoloEverywhere-1.6.8。

我有一个基于 Holo.Theme 的自定义主题。

<style name="JumbleeTheme" parent="Holo.Theme"> ... </style>

我在下面遇到崩溃,但它只出现在以下设备上:

  • Galaxy Tab 10.1 P7510 10.1" 800*1280 149ppi Android#4.0
  • HT EVO 4G 4.3" 480*800 217ppi Android#2.3
  • Galaxy S2 4.3" 480*800 217ppi Android#2.3

android.support.v4.app._HoloActivity$HoloThemeException: 您必须在活动 (SplashActivity) 上应用 Holo.Theme、Holo.Theme.Light 或 Holo.Theme.Light.DarkActionBar 主题才能使用 HoloEverywhere

  at android.support.v4.app._HoloActivity.onInit(SourceFile:482)
  at android.support.v4.app._HoloActivity.forceInit(SourceFile:223)
  at org.holoeverywhere.app.Activity.onCreate(SourceFile:215)
  at au.com.xandar.jumblee.AbstractAppActivity.onCreate(SourceFile:80)
  at au.com.xandar.jumblee.splash.SplashActivity.onCreate(SourceFile:34)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:130)
  at android.app.ActivityThread.main(ActivityThread.java:3687)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:507)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
  at dalvik.system.NativeStart.main(Native Method)

有没有人知道为什么这只发生在这么小的设备子集以及我能做些什么?

4

2 回答 2

2

AFAICT 我的代码或 HoloEverywhere 绝对没有问题。

由于某些莫名其妙的原因,这些设备有时似乎会从 Activity 的样式中丢失 Holo.Theme 属性。这会导致 HE 抛出异常。

万一其他人陷入此错误,这就是我要解决的问题。

@Override
protected Holo onCreateConfig(Bundle savedInstanceState) {
    final Holo config = super.onCreateConfig(savedInstanceState);
    config.ignoreThemeCheck = true;
    return config;
}

因为这将导致 HE 不检查是否已定义 HE 主题。

于 2013-09-16T11:10:41.663 回答
0

由于 HoloEverywhere 的设置方式,您需要将主题设置为@style/Holo.Theme

于 2013-10-03T02:26:34.607 回答