我在实时应用程序中看到此错误,因此我不知道为什么会发生这种情况。我只有这个异常日志(见下文)。起初,我以为我将样式editTextBackgroungWhite(见下文)应用于我的XML中的editText,但删除它对问题没有影响。
如果有人能引导我走向正确的方向,我会很高兴的。
PS我无法在我的设备上复制这个bug似乎只是一些三星音符系列设备的问题。
<style name="editTextBackgWhite"parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorControlNormal">#ffffff</item>
<item name="colorControlActivated">#ffffff</item>
<item name="colorControlHighlight">#ffffff</item>
</style>
Fatal Exception: 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:484)
at android.text.style.TextAppearanceSpan.(TextAppearanceSpan.java)
at android.text.style.TextAppearanceSpan.(TextAppearanceSpan.java)
at android.widget.Editor$SuggestionsPopupWindow$SuggestionInfo.(Editor.java)
at android.widget.Editor$SuggestionsPopupWindow$SuggestionInfo.(Editor.java)
at android.widget.Editor$SuggestionsPopupWindow.initContentView(Editor.java:2995)
at android.widget.Editor$PinnedPopupWindow.(Editor.java)
at android.widget.Editor$SuggestionsPopupWindow.(Editor.java)
at android.widget.Editor.showSuggestions(Editor.java:2229)
at android.widget.Editor$2.run(Editor.java:2109)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
发布于 2018-12-13 14:04:27
这个问题的主要原因似乎是AppCompat库中缺少样式/主题,或者库中的错误。当使用AppCompatEditText或AppCompatAutoCompleteTextView并且WebView也添加到布局(AdMob广告是WebViews)时会发生这种情况。它发生在几个版本的AppCompat上,如23,24,25,26。
在一个有用的演示:
的build.gradle:
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
...
}
应用程序/的build.gradle:
buildToolsVersion '25.0.0'
gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
解决方案是在styles.xml中显式地添加两个 "colorAccent"
和"android:colorAccent"
在主AppTheme中:
<style name="AppTheme" parent="Theme.AppCompat">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:colorAccent" tools:targetApi="lollipop">@color/colorAccent</item>
</style>
要么
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:colorAccent" tools:targetApi="lollipop">@color/colorAccent</item>
</style>
现在,这将允许显示股票拼写建议弹出窗口,而不会再崩溃。
发布于 2018-12-13 15:36:36
尝试在您的样式中添加一些项目(AppCompat是使用> = API23编译的,使用appcompat-v7?):
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryDark">#1565C0</item>
<item name="colorAccent">#E91E63</item>
<item name="backgroundTint">#E91E63</item>
<item name="android:background">#FF0000</item>
<item name="android:textColorPrimary">#FFFFFF</item>
像这样:
<style name="editTextBackgWhite"parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorControlNormal">#ffffff</item>
<item name="colorControlActivated">#ffffff</item>
<item name="colorControlHighlight">#ffffff</item>
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryDark">#1565C0</item>
<item name="colorAccent">#E91E63</item>
<item name="backgroundTint">?attr/colorAccent</item>
<item name="android:background">#FF0000</item>
<item name="android:textColorPrimary">#FFFFFF</item>
</style>
https://stackoverflow.com/questions/-100006283
复制相似问题