【Android】输入金额时自动补加一个元,金额删干净时,元字自动消失
2016-03-26 23:12
573 查看
最近在做一个项目,有个界面要输入金额,金额数字和单位“元”是连在一起的,不是左边一个EditText,右边一个写着“元”的TextView;而是金额数字和“元”看起来是在一起的。
刚开始我想起以前有个EditText的方法,还有两个,一个是addTextChangedListener(new TextWatcher())方法,另一个是setOnFocusChangeListener方法。
add开头的那个方法中的接口中可以重写三个方法
另一个只重写一个方法
这两个方法,大家可以直接百度,我在这里不详情说了,我开始用的是set那个方法,只实现了获得焦点时自动补全“元”,失去焦点,其实我当时的情况还比较特殊,我失去不了焦点。如果页面上有两个EditText还好,能失去焦点,如果只有一个EditText,我就失不了焦点了,因为我的这个EditText是Activity中动态添加上去的,反正当时有难处,后来放弃了set的那个方法。
再说说add的这个方法吧,接口中可以重写3个方法,不过研究后,发现只有onTextChanged还可以用,其它两个不太好使。
这个add方法可以帮 我实现随时监控我是否输入数字,输入了就加个元,是0开关的就不让输入,但是有一点体验不好,输入的第一个数字和“元”连在了一起,比如说我第一个数字想输入1,不小心按了4,我想删除,这时候我的光标可不在4和“元”之间,最后我也舍充弃了这个方法。
因为我突然想到了一个非常简单有效的方法,想到这个方法我都气自己好笨,
具体方法是:金额和“元”分两个控件,金额用EditText,“元”用TextView,然后我再用上面的那个add的接口中的方法,根据输入数字的长度来监控TextViiew控件是否显示。
嘿嘿。这样就解决了光标的问题了。
刚开始我想起以前有个EditText的方法,还有两个,一个是addTextChangedListener(new TextWatcher())方法,另一个是setOnFocusChangeListener方法。
add开头的那个方法中的接口中可以重写三个方法
et.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } })
另一个只重写一个方法
et.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { } })
这两个方法,大家可以直接百度,我在这里不详情说了,我开始用的是set那个方法,只实现了获得焦点时自动补全“元”,失去焦点,其实我当时的情况还比较特殊,我失去不了焦点。如果页面上有两个EditText还好,能失去焦点,如果只有一个EditText,我就失不了焦点了,因为我的这个EditText是Activity中动态添加上去的,反正当时有难处,后来放弃了set的那个方法。
再说说add的这个方法吧,接口中可以重写3个方法,不过研究后,发现只有onTextChanged还可以用,其它两个不太好使。
这个add方法可以帮 我实现随时监控我是否输入数字,输入了就加个元,是0开关的就不让输入,但是有一点体验不好,输入的第一个数字和“元”连在了一起,比如说我第一个数字想输入1,不小心按了4,我想删除,这时候我的光标可不在4和“元”之间,最后我也舍充弃了这个方法。
因为我突然想到了一个非常简单有效的方法,想到这个方法我都气自己好笨,
具体方法是:金额和“元”分两个控件,金额用EditText,“元”用TextView,然后我再用上面的那个add的接口中的方法,根据输入数字的长度来监控TextViiew控件是否显示。
嘿嘿。这样就解决了光标的问题了。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories