记一个关于edittext的事情...
2017-11-09 10:13
99 查看
今天做个需求是用户输入0-100的edittext,测试的时候发现用户可能会输出 010 001这样的数字 于是想做限制。故写出了这段代码
但是在我的手机(华为荣耀8)上点击软键盘X键时会直接卡住。感觉应该是UI线程堵塞了。杀掉APP后软键盘还是会卡的界面上几分钟才会退出....
改了几下之后发现可能是由于代码设置文本也会触发监听所以进入了死循环。
后面更改为
就没有问题了
if (et_integral_set11.getText().toString().isEmpty()==false){ if (Integer.valueOf(et_integral_set11.getText().toString()).intValue()>100){ et_integral_set11.setText(String.valueOf(100)); et_integral_set11.setSelection(et_integral_set11.getText().length()); }else{ et_integral_set11.setText(String.valueOf(Integer.valueOf(et_integral_set11.getText().toString()))); et_integral_set11.setSelection(et_integral_set11.getText().length()); } }
但是在我的手机(华为荣耀8)上点击软键盘X键时会直接卡住。感觉应该是UI线程堵塞了。杀掉APP后软键盘还是会卡的界面上几分钟才会退出....
改了几下之后发现可能是由于代码设置文本也会触发监听所以进入了死循环。
后面更改为
if (Integer.valueOf(et_integral_set11.getText().toString()).intValue()>100){ et_integral_set11.setText(String.valueOf(100)); et_integral_set11.setSelection(et_integral_set11.getText().length()); } if (et_integral_set11.getText().length()>1&&et_integral_set11.getText().charAt(0)=='0'){ et_integral_set11.setText(String.valueOf(Integer.valueOf(et_integral_set11[/b].getText().toString()))); et_integral_set11.setSelection(et_integral_set11.getText().length()); }
就没有问题了
相关文章推荐
- 关于ScrollView中一个EditTextView弹出软键盘不上顶
- android关于EditText获取焦点的一个问题
- 关于AlertDialog里面的EditText无法弹出软键盘的解决方法
- 关于EditText的输入动态监听
- 关于ListView和EditText的焦点问题
- 关于EL表达式的一个奇怪的事情
- 信息异步处理,关于handle和thread交互信息,只能更改一个textview的问题原因分析
- 关于在在Fragment中Edittext中不显示输入法
- Android关于实现EditText中加多行下划线的的一种方法
- 一个button设置EditText状态可编辑及不可编辑
- android关于EditText与其光标
- android EditText失去焦点可以干的事情(2)
- 关于EditText中重写方法的意义及数量关系
- Android关于EditText的坑[光标,软键盘]
- 发现 ASP.Net 的一个关于"回车提交"的 Bug ? 必须多于一个 Text 域"回车提交",Server: ButtonX_Click 才能截获!
- 关于Android的EditText的部分属性
- 问题:关于坛友一个获取text内容并改变样式的实现
- 关于listview嵌套edittext显示错位的解决方法
- android 开发中进入一个activity界面软键盘自动弹出解决(布局中有edittext)
- 关于EditText中设置不能为空格或为空的方法