3

TextInputLayout でラップされた TextInputEditText があります。ただし、一部のキーボードでは、ユーザーがスペルの候補を表示し、その単語をタップして候補のポップアップ リストを表示すると、アプリが激しくクラッシュし、キーボードが画面に表示されたままになり、ダイアログの上に表示されることがあります。

これは Android 6、7、および 8 で発生します。6.0.1 を実行している Samsung Galaxy S5 と標準の Samsung キーボードで問題を再現できますが、同じデバイスの 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 フィールドですべてのユーザーのスペル候補を無効にすることのようですが、これは非常に不十分です。私は他のアイデア/提案を受け入れます。

4

2 に答える 2