- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个包含在 TextInputLayout 中的 TextInputEditText。但是,在某些键盘上,当用户有拼写建议并点击单词以显示建议的弹出列表时,我的应用程序会严重崩溃,将键盘留在屏幕上,有时会超出对话框。
这发生在 Android 6、7 和 8 上。我可以在运行 6.0.1 的三星 Galaxy S5 和普通三星键盘上复制该问题,但不能在同一设备上使用 Gboard 或 Swype,在运行 Android 8.0 的 Nexus 5x 上使用默认的 Google 键盘。
该应用程序面向 26,并且使用的是设计支持库版本 26.1.0。这个相同的堆栈跟踪已经在多个版本的支持库中为我们显示,并且这个或类似的问题声称之前已得到修复。
很难找到原因并复制它。我没有设置任何特殊的主题或颜色 - 只是 appcompat。这是堆栈跟踪:
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.<init>(TextAppearanceSpan.java:65)
at android.text.style.TextAppearanceSpan.<init>(TextAppearanceSpan.java:45)
at android.widget.Editor$SuggestionsPopupWindow$SuggestionInfo.<init>(Editor.java:3012)
at android.widget.Editor$SuggestionsPopupWindow$SuggestionInfo.<init>(Editor.java:3007)
at android.widget.Editor$SuggestionsPopupWindow.initContentView(Editor.java:2995)
at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:2844)
at android.widget.Editor$SuggestionsPopupWindow.<init>(Editor.java:2969)
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:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
这是我能够找到的类似/相关问题:
不幸的是,似乎唯一的解决方法是在 TextInputEditText 字段上为所有用户禁用拼写建议,这非常蹩脚。我愿意接受其他想法/建议。
最佳答案
在我这里的例子中,我已经将自定义 textAppearance 应用于父 TextInputLayout:
<android.support.design.widget.TextInputLayout
android:textColorHint="@color/textColorPrimary"
android:textColor="@color/textColorPrimary"
android:theme="@style/smallHint"
android:hint="@string/add_a_comment"
android:layout_marginEnd="16dp">
<android.support.design.widget.TextInputEditText
android:id="@+id/comment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp"
android:inputType="textImeMultiLine|textCapSentences"
android:importantForAutofill="noExcludeDescendants"
tools:ignore="UnusedAttribute"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
主题定义如下所示:
<style name="smallHint" parent="TextAppearance.AppCompat">
...
</style>
这是不正确的。 TextInputLayout 的主题不应设置为具有 TextAppearance.AppCompat 父项的内容。
我应该使用 app:hintTextAppearance 而不是 android:theme。
关于android - TextInputEditText 拼写更正崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47104528/
我想通过用语言环境拼写数字来本地化数字,最后使用了 ICU4J。我在许多地区都取得了成功,但似乎没有在格鲁吉亚、土耳其或阿拉伯语等地区完成。 ULocale locale = new ULocale(
我正在研究具有端点的 swagger API 规范: /authorizations 我也想为这个端点定义一个替代拼写(授权)。这可能吗?或者我是否需要为每个拼写定义一个单独的路由? /authori
我正在研究具有端点的 swagger API 规范: /authorizations 我也想为这个端点定义一个替代拼写(授权)。这可能吗?或者我是否需要为每个拼写定义一个单独的路由? /authori
我使用 Yahoo BOSS 的时间很短。这是一个简单的搜索 API,但拼写建议支持确实不那么强大。周围的人是否有任何关于在 BOSS 上获得更好的拼写建议的想法。 最佳答案 不幸的是,甚至在几年后,
问题如下:我正在编写一个强力解密器来破解一些 super secret 代码(这是一场竞赛,而不是犯罪),结果证明这是不可能的:树中的节点太多需要被搜查。为了克服这个问题,我认为检查中间“解决方案”以
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我是一名优秀的程序员,十分优秀!