android Fragment获取EditText 从软键盘中输入下一个action的监听

今天是2016年的第2天,还是觉得作为一个程序员,写写博客来回顾自己在开发中遇到的一些问题,对自己来说是一个不错的技术积累方式。这可以让我对所遇到的问题有个更深刻的印象,也能对有遇到相同问题的朋友们能有个参考,废话不多说,进入正题吧!
EditText 这个控件应该是在开发过程中用得比较多的一个控件,对于它的使用相信大家也都用得很熟了,我今天要说的是, 在Fragment 中,使用EditText 时,要从软键盘中获取得到键盘上“下一个”,“完成”这些action了, 这时,便可以切换到下一个EditText中继续进行输入的操作或关闭软键盘了。
可能大家会问,重写Activity的dispatchKeyEvent(KeyEvent event)方法,在方法中判断event.getKeyCode() 不就行了么,确实,这是当你在Activity 中使用EditText 时想要实现上方所述功能的一种方法。
看到这里,可能细心的读者会发现了,上面说的这个方法是重写 Activity 中的方法,可是现在我们是在Fragment 中了,在Fragment 是没有dispatchKeyEvent(KeyEvent event)这个方法的,那这时要怎么办呢,我跟大家都是一样的,有问题时第一反应就是找度娘了,度娘也没能让我找到方法解决,最后还是自己瞎撞撞出来的。
android Fragment获取EditText 从软键盘中输入下一个action的监听_第1张图片

如图上的代码所示,只需要给EditText 加一个setOnEditorActionListener 的监听即可,在重写的方法里去判断当前点击的 actionId 是否是IME_ACTION_NEXT(下一个),IME_ACTION_DONE(完成,软键盘会自动消失)。
最后说一句,第一次写博客可能描述得有些冗余了,但这也是自己迈出的第一步了,希望自己能坚持下去,一步一个脚印,不断积累。

你可能感兴趣的:(android-控件)