android Fragment获取EditText 从软键盘中输入下一个action的监听
2016-01-02 21:00
543 查看
今天是2016年的第2天,还是觉得作为一个程序员,写写博客来回顾自己在开发中遇到的一些问题,对自己来说是一个不错的技术积累方式。这可以让我对所遇到的问题有个更深刻的印象,也能对有遇到相同问题的朋友们能有个参考,废话不多说,进入正题吧!
EditText 这个控件应该是在开发过程中用得比较多的一个控件,对于它的使用相信大家也都用得很熟了,我今天要说的是, 在Fragment 中,使用EditText 时,要从软键盘中获取得到键盘上“下一个”,“完成”这些action了, 这时,便可以切换到下一个EditText中继续进行输入的操作或关闭软键盘了。
可能大家会问,重写Activity的dispatchKeyEvent(KeyEvent event)方法,在方法中判断event.getKeyCode() 不就行了么,确实,这是当你在Activity 中使用EditText 时想要实现上方所述功能的一种方法。
看到这里,可能细心的读者会发现了,上面说的这个方法是重写 Activity 中的方法,可是现在我们是在Fragment 中了,在Fragment 是没有dispatchKeyEvent(KeyEvent event)这个方法的,那这时要怎么办呢,我跟大家都是一样的,有问题时第一反应就是找度娘了,度娘也没能让我找到方法解决,最后还是自己瞎撞撞出来的。
如图上的代码所示,只需要给EditText 加一个setOnEditorActionListener 的监听即可,在重写的方法里去判断当前点击的 actionId 是否是IME_ACTION_NEXT(下一个),IME_ACTION_DONE(完成,软键盘会自动消失)。
最后说一句,第一次写博客可能描述得有些冗余了,但这也是自己迈出的第一步了,希望自己能坚持下去,一步一个脚印,不断积累。
EditText 这个控件应该是在开发过程中用得比较多的一个控件,对于它的使用相信大家也都用得很熟了,我今天要说的是, 在Fragment 中,使用EditText 时,要从软键盘中获取得到键盘上“下一个”,“完成”这些action了, 这时,便可以切换到下一个EditText中继续进行输入的操作或关闭软键盘了。
可能大家会问,重写Activity的dispatchKeyEvent(KeyEvent event)方法,在方法中判断event.getKeyCode() 不就行了么,确实,这是当你在Activity 中使用EditText 时想要实现上方所述功能的一种方法。
看到这里,可能细心的读者会发现了,上面说的这个方法是重写 Activity 中的方法,可是现在我们是在Fragment 中了,在Fragment 是没有dispatchKeyEvent(KeyEvent event)这个方法的,那这时要怎么办呢,我跟大家都是一样的,有问题时第一反应就是找度娘了,度娘也没能让我找到方法解决,最后还是自己瞎撞撞出来的。
如图上的代码所示,只需要给EditText 加一个setOnEditorActionListener 的监听即可,在重写的方法里去判断当前点击的 actionId 是否是IME_ACTION_NEXT(下一个),IME_ACTION_DONE(完成,软键盘会自动消失)。
最后说一句,第一次写博客可能描述得有些冗余了,但这也是自己迈出的第一步了,希望自己能坚持下去,一步一个脚印,不断积累。
相关文章推荐
- 使用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