我的应用在其工具栏中显示了一个搜索小部件。 它通常工作正常,但如果我通过添加以下内容将文本更改为样式中的所有大写:
<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)
答案 0 :(得分:0)
您的问题与所有上限无关。
您缺少XML中name="toolbar_text"
属性的结束双引号。
试试这个:
<style name="toolbar_text" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<item name="textAllCaps">true</item>
<item name="android:textAllCaps">true</item>
</style>