Spinner - 使用AppCompat时膨胀异常

时间:2015-12-17 14:03:40

标签: android android-spinner android-appcompat android-styles android-inflate

我已经实现了Android应用程序来阅读书籍。我的应用程序有两种模式 - day night

对于 day 模式,我使用的是主页,其父级设置为@style/Theme.AppCompat.Light.NoActionBar。对于 night 模式,父级为@style/Theme.AppCompat.NoActionBar

在第一种模式( day )中,一切正常。但是当用户将模式更改为 night 时会出现问题。我有Spinner的问题,它放在我的片段中。将模式更改为 night 后,我立即看到以下异常:

java.lang.RuntimeException: Unable to start activity ComponentInfo{cz.company.media/cz.comapy.reader.activity.reader.ReadingActivity}: android.view.InflateException: Binary XML file line #19: Error inflating class <unknown>
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3119)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3218)
     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5111)
     at android.app.ActivityThread.access$1100(ActivityThread.java:198)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1682)
     at android.os.Handler.dispatchMessage(Handler.java:102)
     at android.os.Looper.loop(Looper.java:145)
     at android.app.ActivityThread.main(ActivityThread.java:6837)
     at java.lang.reflect.Method.invoke(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:372)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
  Caused by: android.view.InflateException: Binary XML file line #19: Error inflating class <unknown>
     at android.view.LayoutInflater.createView(LayoutInflater.java:640)
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
     at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
     at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
     at android.view.LayoutInflater.inflate(LayoutInflater.java:366)

我发现第19行的布局中有Spinner。我的目标是SDK版本22.我的所有活动都从AppCompatActivity延伸,所有对话都从{{1}延伸}}。我还尝试将AppCompatDialogFragment更改为Spinner,但它没有效果。

这很奇怪,这只发生在设备三星Galaxy S6和Android 5.1.1上。

我在其他一些设备上测试过,比如Nexus 5,三星Galaxy S4,摩托罗拉Xoom,Xperia Z2平板电脑,它的工作非常好。

有人有想法,可能出错吗?

更新

我的AppCompatSpinner文件中的第19行是:

xml

我也尝试使用经典<android.support.v7.widget.AppCompatSpinner [this is line 19] android:id="@+id/spinner_display_settings_motif" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/display_setting_motif_types"/> ,但它是一样的。

1 个答案:

答案 0 :(得分:1)

如果您没有自己的风格/主题,请尝试检查:

public static class PercentStringParser
{
     public static double Parse(string txt);
}

这可能会导致这类问题。