当前位置: 首页 > news >正文

wordpress英文企业主题安全优化大师

wordpress英文企业主题,安全优化大师,php网站的数据库怎么做备份,企业所得税优惠政策有哪些1,可能是EditText,setSelection(x)时超过了 输入框内容的实际长度导致的。 2,手机开启“拼写检查功能”,EditText设置了最大长度,选择提示的某一项文案时超过设置的最大长度限制,导致崩溃。 针对情况2 开…

1,可能是EditText,setSelection(x)时超过了 输入框内容的实际长度导致的。

2,手机开启“拼写检查功能”,EditText设置了最大长度,选择提示的某一项文案时超过设置的最大长度限制,导致崩溃。

针对情况2 开启“拼写检查功能” 的举例:

例如,通过InputFilter 或者maxLength 设置了EditText的最大长度为8。

↑ 此时已经输入了7位

↑ 再输入一个空格,此时已经达到最大长度8。

但已经输入的字符有红色横线,显示可以进行提示,点击已输入的字符就会展示下方样式。

此时如果选择“Que tak”是没问题的,因为没有达到最大长度限制。
但选择“quest nak”就会崩溃,报IndexOutOfBoundsException。。


解决办法:
给对应的editText 设置 :setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS)。

-------------------------------------------------------------------------------------------------------------------------------

原因:
参考原文:java.lang.IndexOutOfBoundsException: setSpan ( ... ) ends beyond length 剖析

看trackstack的信息,应该是点击其中一项候选词的时候发生的奔溃。让我们先看看SuggesttionsPopupWindow在处理点击事件的时候做了什么。

@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {SuggestionInfo suggestionInfo = mSuggestionInfos[position];replaceWithSuggestion(suggestionInfo);hideWithCleanUp();
}

代码很简洁,我们继续看看replaceWithSuggestion这个方法,代码挺长的,只保留重点

private void replaceWithSuggestion(@NonNull final SuggestionInfo suggestionInfo) {···//suggestion是点击选中的候选词final String suggestion = suggestionInfo.mText.subSequence(suggestionStart, suggestionEnd).toString();//替换mTextView.replaceText_internal(spanStart, spanEnd, suggestion);//把被替换的词放到候选词列表String[] suggestions = targetSuggestionSpan.getSuggestions();suggestions[suggestionInfo.mSuggestionIndex] = originalText;// Restore previous SuggestionSpans//候选词和被替换词的长度差值final int lengthDelta = suggestion.length() - (spanEnd - spanStart);for (int i = 0; i < length; i++) {// Only spans that include the modified region make sense after replacement// Spans partially included in the replaced region are removed, there is no// way to assign them a valid range after replacementif (suggestionSpansStarts[i] <= spanStart && suggestionSpansEnds[i] >= spanEnd) {//这里在计算setSpan_internal的时候end加上了候选词和被替换词的长度差值,其实就是默认//候选词替换后可以完全显示,假如我们设置了长度限制,例如maxlength,就会引发上述的奔溃mTextView.setSpan_internal(suggestionSpans[i], suggestionSpansStarts[i],suggestionSpansEnds[i] + lengthDelta, suggestionSpansFlags[i]);}}// Move cursor at the end of the replaced wordfinal int newCursorPosition = spanEnd + lengthDelta;//这里也有同样的问题mTextView.setCursorPosition_internal(newCursorPosition, newCursorPosition);
}

另:

拼写检查的设置位置:

http://www.tj-hxxt.cn/news/84802.html

相关文章:

  • 淘宝领卷网站什么做整站优化关键词推广
  • 有没有网站教做美食的东莞网站建设最牛
  • dede中英文网站 视频如何申请百度竞价排名
  • 阿迪网站建设规划书今日舆情热点
  • 老薛主机做多个网站seo搜索引擎实训心得体会
  • 楚雄市城乡建设局网站竞价排名适合百度这样的网络平台吗
  • 网站建设开发进度表青岛百度推广优化
  • 华为网站的建设目标永久免费用的在线客服系统
  • 做雕塑网站网站快速刷排名工具
  • 重庆在线高校开放平台重庆seo排
  • 建平台网站费用seo软件排行榜前十名
  • 那些网站是做生鲜的广州信息流推广公司
  • 福建省建设资格注册与管理中心网站百度快照的作用是什么
  • 包头做网站公司网站seo课设
  • 做gif有什么网站关联词有哪些小学
  • 企业网站模板大全网络营销推广技巧
  • 低代码开发平台是什么哈尔滨关键词优化报价
  • 公司做推广做网站好还是百度竞价广告收费标准
  • 网站界面排版荨麻疹怎么治疗能除根
  • wordpress wp_enqueue_style网站页面怎么优化
  • 电商网站开发周期做一个网站需要多少钱
  • 网站建设费属于研发费用吗福州seo推广优化
  • 郑州做网站网络公司广州seo推广公司
  • 宁夏网站建设多少钱央视网新闻
  • 企业网站形象建设品牌运营公司
  • 企业网站如何做优化完整的网页设计代码
  • 怎么做网站开始动画seo关键词排名优化联系方式
  • 网站建设与管理期末总结武汉建站优化厂家
  • 做网站 广州重庆网站关键词排名
  • 行业推广做哪个网站好域名查询备案