当前位置: 首页 > 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.yayakq.cn/news/589812/

相关文章:

  • 临沂河东建设局网站注册一个新公司需要多少钱
  • 网站开发具体工作有那些做标签网站是什么
  • 网站微博代码可以全部免费观看的平台
  • 免费行情网站大全下载上海网站建设定
  • 昆明做网站公司学校网站建设的申请
  • 今鼎网站建设百度关键词排名提升工具
  • 中国建设银行网站类型分析内容管理网站建设方案
  • 优质手机网站建设做网站 广州
  • 艺麟盛世可以做网站推广吗网站首页怎么设计
  • 国际物流公司网站建设牛商网
  • 一级a做爰片视频免费观看网站贵州景点网站建设方案
  • 网站建设布局样式官方网站建设方案图
  • 学校官方网站飘云网络科技有限公司
  • 重庆的推广网站建站费用参考
  • 徐州网站开发聊城集团网站建设多少钱
  • weui做购物网站的案例网站信息内容建设责任制落实情况
  • 沧州网站建设刘磊广告设计专业专升本考什么
  • 最好茶叶网站建设wordpress数据库名
  • 新手学做免费网站少儿编程加盟培宝未来
  • 如何解析后用二级域名做网站深圳网站建设制作哪家好
  • 百度网站建设及推广什么样的笔记本电脑适合网站开发
  • 河南省能源规划建设局网站在线音乐网站开发摘要
  • 网站运营管理方案网站验收时项目建设总结报告
  • 网站开发调试工具苏州优化网站
  • 做个小网站多少钱河北百度seo关键词
  • 厦门的网站ftp 网站文件
  • 做网站需要哪几个板块电子商务网站建设课程标准
  • 怎么创建网站要钱吗做网站装什么服务器
  • 专业建站公司建站系统凡客诚品售后服务官方
  • 网络运营外包托管豪利777的seo综合查询