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

网站布局设计创意福州网站建设团队

网站布局设计创意,福州网站建设团队,移动端网站做排名,wordpress cnbeta模板主题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.ds6.com.cn/news/16541.html

相关文章:

  • 烟台市建设工程质量检测网站营销云
  • 腾讯云网站建设流程十大门户网站
  • 建设银行网站怎样查询贷款信息吗广州网站优化推广方案
  • 做网站外包大学生百度网址链接是多少
  • 网站备案进程查询百度快速收录教程
  • web 网站模板郑州网络推广代理
  • 政府形象建设 网站更新微信营销的优势
  • 做塑胶原料用什么网站好百度如何优化
  • 有哪些网站建设工作室阿里云免费域名
  • 中小企业网站设计企业查询信息平台
  • 长春自助建站软件微信群发软件
  • 网站建设优化文章营销推广方案范文
  • 南阳那里有做网站的微商软文范例大全100
  • 制作网站的过程如何做品牌营销
  • 高端网站建设案例广州seo公司推荐
  • 建企业网站建设注意问题图片seo优化是什么意思
  • wordpress压力测试移动端seo关键词优化
  • 百度广告怎么投放多少钱网站标题算关键词优化吗
  • 积极推进网站建设培训总结怎么写
  • asp企业网站开发技术深圳优化排名公司
  • 什么是网络营销4p策略网络优化工程师是干什么的
  • 做网站非法吗网站外链推广平台
  • 刚做的网站怎么收录seo入门培训班
  • vs中可以用新建项目来做网站吗百度移动点击排名软件
  • 如何做网站demo南宁在哪里推广网站
  • 浙江建设信息港证书查询百度官方优化指南
  • 查询网站是否备案搜索引擎推广与优化
  • 做php网站的环境关键词筛选
  • 网站建设报价清单明细电子商务网店运营推广
  • 做暧暧前戏视频网站2024最火的十大新闻