Сбой виджета поиска Android после изменения текста панели инструментов на все прописные буквы в стиле - PullRequest
0 голосов
/ 02 июня 2018

Мое приложение имеет виджет поиска на панели инструментов.Он работает нормально, но если я изменю текст на все заглавные буквы в стиле, добавив:

 <style name="toolbar_text parent="@style/ThemeOverlay.AppCompat.ActionBar">
 <item name="textAllCaps">true</item>
 <item name="android:textAllCaps">true</item>
 </style>

Приложение вылетает, когда я пытаюсь использовать текстовое поле виджета поиска, но здесь нужно отметить одну точку:голосовой поиск работает нормально, так как это исправить

вот такие вот ошибки

E/ACRA: ACRA caught a IndexOutOfBoundsException for com.lalitesh.datenoteapp
                                     java.lang.IndexOutOfBoundsException
                                         at android.graphics.Paint.getRunAdvance(Paint.java:2557)
                                         at android.text.TextLine.handleText(TextLine.java:719)
                                         at android.text.TextLine.handleRun(TextLine.java:869)
                                         at android.text.TextLine.measureRun(TextLine.java:387)
                                         at android.text.TextLine.measure(TextLine.java:277)
                                         at android.text.Layout.getHorizontal(Layout.java:943)
                                         at android.text.Layout.getHorizontal(Layout.java:921)
                                         at android.text.Layout.getPrimaryHorizontal(Layout.java:892)
                                         at android.widget.TextView.bringPointIntoView(TextView.java:7544)
                                         at android.widget.TextView.updateAfterEdit(TextView.java:8261)
                                         at android.widget.Editor.finishBatchEdit(Editor.java:1460)
                                         at android.widget.Editor.endBatchEdit(Editor.java:1442)
                                         at android.widget.TextView.endBatchEdit(TextView.java:6675)
                                         at com.android.internal.widget.EditableInputConnection.endBatchEdit(EditableInputConnection.java:78)
                                         at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:478)
                                         at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:91)
                                         at android.os.Handler.dispatchMessage(Handler.java:102)
                                         at android.os.Looper.loop(Looper.java:154)
                                         at android.app.ActivityThread.main(ActivityThread.java:6123)
                                         at java.lang.reflect.Method.invoke(Native Method)
                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

1 Ответ

0 голосов
/ 02 июня 2018

Ваша проблема связана не со всеми заглавными буквами.

Отсутствует закрывающая двойная кавычка в свойстве name="toolbar_text" в XML.

Попробуйте:

<style name="toolbar_text" parent="@style/ThemeOverlay.AppCompat.ActionBar">
   <item name="textAllCaps">true</item>
   <item name="android:textAllCaps">true</item>
</style>
...