【发布时间】:2017-01-07 04:07:31
【问题描述】:
自从将我的 Nexus 5X 升级到 Android N 后,我在使用 EditText 时遇到了以下崩溃:
java.lang.UnsupportedOperationException: Failed to resolve attribute at index 6: TypedValue{t=0x2/d=0x101009b a=1}
at android.content.res.TypedArray.getColorStateList(TypedArray.java:528)
at android.text.style.TextAppearanceSpan.<init>(TextAppearanceSpan.java:65)
at android.text.style.TextAppearanceSpan.<init>(TextAppearanceSpan.java:45)
at android.widget.Editor$SuggestionsPopupWindow.setUp(Editor.java:3316)
at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:3016)
at android.widget.Editor$SuggestionsPopupWindow.<init>(Editor.java:3309)
at android.widget.Editor.replace(Editor.java:356)
at android.widget.Editor$3.run(Editor.java:2129)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
当单击已经有一些文本的 EditText 时会发生这种情况。我假设它是自动更正的弹出窗口或类似的东西。
我的应用使用支持库 24.2.0 和 Theme.AppCompat.Light.NoActionBar
编辑:如果我在我的主题中除了 colorAccent 之外添加 android:colorAccent 效果很好:
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/mainBrandColor</item>
<item name="colorPrimaryDark">@color/mainBrandDarkerColor</item>
<item name="colorAccent">@color/mainBrandColor</item>
<item name="android:colorAccent">@color/mainBrandColor</item>
</style>
但这不应该是必需的,因为我从 Theme.AppCompat 继承。
我做了一个小应用来展示这个问题:
【问题讨论】:
-
如果您可以创建一个重现问题的示例应用程序,file an issue。
-
@CommonsWare 我终于可以重现了。它似乎与在 AppCompatEditText 之后创建 WebView 相关联。在那里提交的问题:code.google.com/p/android/issues/detail?id=221504.
-
你解决了吗?它仍然发生在 25.3.1
-
@mbonnin 修复了吗?
-
@sanjeev 不确定,好久没查了
标签: android android-support-library android-7.0-nougat