【问题标题】:java.lang.IndexOutOfBoundsException: setSpan (5 ... 5) ends beyond length 0 on Device Back button pressjava.lang.IndexOutOfBoundsException: setSpan (5 ... 5) 在设备返回按钮按下时结束超过长度 0
【发布时间】:2019-01-25 20:37:26
【问题描述】:

在后按时我收到错误“java.lang.IndexOutOfBoundsException: setSpan (5 ... 5) ends beyond length 0”我不明白我在哪里收到此错误。当我通过设备返回按钮并来到片段页面 (FragmentPageA) 时,会发生此错误。如果我通过点击菜单来到同一页面(FragmentPageA),我不会收到同样的错误。

    08-19 17:00:42.119 1252-1252/com.shidhin.ts E/UncaughtException: java.lang.IndexOutOfBoundsException: setSpan (5 ... 5) ends beyond length 0
        at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1265)
        at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:684)
        at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:677)
        at android.text.Selection.setSelection(Selection.java:76)
        at android.widget.TextView.semSetSelection(TextView.java:11549)
        at android.widget.EditText.setSelection(EditText.java:118)
        at android.widget.NumberPicker$SetSelectionCommand.run(NumberPicker.java:2246)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6776)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
08-19 17:00:42.388 1252-1252/com.shidhin.ts E/AndroidRuntime: FATAL EXCEPTION: main
        Process: com.shidhin.ts, PID: 1252
        java.lang.IndexOutOfBoundsException: setSpan (5 ... 5) ends beyond length 0
        at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1265)
        at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:684)
        at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:677)
        at android.text.Selection.setSelection(Selection.java:76)
        at android.widget.TextView.semSetSelection(TextView.java:11549)
        at android.widget.EditText.setSelection(EditText.java:118)
        at android.widget.NumberPicker$SetSelectionCommand.run(NumberPicker.java:2246)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6776)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

这是我在活动页面上的后按代码,

@Override
public void onBackPressed() {
    if (drawerLayout.isDrawerOpen(menuLayout))
        drawerLayout.closeDrawer(menuLayout);
    else {
        if (getFragmentManager() != null && getFragmentManager().getBackStackEntryCount() != 0) {
            getFragmentManager().popBackStack();
        } else
            showExitConfirmationDialog();
    }
} 

【问题讨论】:

  • 也发布您的代码。
  • @SurenSaluka 我不明白我从哪里得到这个问题。我想知道这个问题的原因是什么。
  • 在FragmentPageA的onCreate()方法上下断点,模拟场景。如果没有 FragmentPageA 中的 onCreate() 方法的代码,很难猜测出了什么问题。
  • 分享一些代码
  • @MarcoPierucci 当我点击设备后退按钮时会发生这种情况,当我点击后退按钮时,它会加载上一个片段,几秒钟后我遇到了这个问题。当我从菜单中选择同一页面时,没有问题。

标签: java android


【解决方案1】:

看起来其他人也有同样的问题here

NumberPicker.setSaveFromParentEnabled(false);       
NumberPicker.setSaveEnabled(false);

【讨论】:

  • :) 谢谢,这解决了我的问题
猜你喜欢
  • 1970-01-01
  • 2017-12-22
  • 2018-07-02
  • 1970-01-01
  • 2012-01-25
  • 2015-12-28
  • 2018-07-12
  • 2020-05-31
  • 1970-01-01
相关资源
最近更新 更多