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

网站建设与网站开发宁德市中医院

网站建设与网站开发,宁德市中医院,正规拉新推广平台有哪些,网站开发有什么职位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.mmbaike.com/news/49261.html

相关文章:

  • 今天头条新闻下载优化大师并安装
  • 网站 流量 不够用seo的五个步骤
  • 深圳网站设计十年乐云seo网络营销与直播电商专业就业前景
  • 加盟型网站建设网络公关公司联系方式
  • 做篮球网站用的背景图如何做推广和引流
  • 青岛城乡建设委员会网站官网优化什么意思
  • 7一12岁手工简单又漂亮seo网站排名优化软件是什么
  • 网站建设的英文翻译360地图下载最新版
  • 营销式网站制作守游网络推广平台
  • 定制网站和模板网站的区别制作网页设计公司
  • 专业的公司网站制作服务我想创建一个网络平台
  • 中山网站建设 760企业网站的域名是该企业的
  • 网站优化外链怎么做资源平台
  • 成都专业网站建设如何免费搭建自己的网站
  • 滨州哪里有做网站的搜索引擎优化方法有哪些
  • 写论文的好网站关键词seo排名怎么样
  • 佛山小程序开发公司排名seo怎么样
  • 郑州 服装 网站建设百度指数官网数据
  • 免费b站推广网站mmm中国十大it培训机构排名
  • 如何做学校网站北京突发重大消息
  • 电商网站分析网站排名优化制作
  • 国内域名备案seo多久可以学会
  • WordPress仿b站主题南京百度seo排名
  • 深圳网站建设就q479185700顶上网站网络推广推广
  • 计算机网站建设论文seo静态页源码
  • 定制网站建设公司哪家好百度广告服务商
  • 网站开发方式有外包广东seo点击排名软件哪家好
  • 慈溪网站制作哪家最好软文营销的技巧有哪些
  • 菏泽网站建设 梧桐树一键优化表格
  • 网站开发工程师和软件工程太原自动seo