imeoptions android,软键盘小记Android:imeOptions_雨前羽街的博客-程序员资料

技术标签: imeoptions android  

1.actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.

2.actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE

3.actionGo 去往,对应常量EditorInfo.IME_ACTION_GO

4.actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH

5.actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND

6.actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT

7.actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE

android键盘中的enter键图标是可以用EditText的android:imeOptions标签变更的。

显示search图标需要设置为android:imeOptions="actionSearch",android:inputType="text"将键盘设置为文字输入布局

则键盘中search按钮正常出现。

捕捉编辑框软键盘enter事件:

1)setOnKeyListener

2)OnEditorActionListener

实现android按下回车键便隐藏输入键盘,有两种方法:

1)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏。或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,则不管是不是最后一个EditText,点击回车键即隐藏输入法。

2)监听Enter的事件,编写Enter的事件响应。设置文本框的OnKeyListener,当keyCode ==KeyEvent.KEYCODE_ENTER的时候,表明Enter键被按下,就可以编写自己事件响应功能了

emailPwd.setOnKeyListener(View.OnKeyListener(){

onKey(View v, keyCode, KeyEvent event) {

(keyCode == KeyEvent.){

InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.);

(imm.isActive()){

imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), );

}

;

}

;

}

});

在某些时候用户填写完毕。就该直接触发接下来的点击事件:

/**

*

* @param et editText

* @param view 需要触发事件的view IME_ACTION_SEND || paramInt == EditorInfo.IME_ACTION_DONE || paramInt == EditorInfo.IME_ACTION_NEXT

* 出发view 的点击事件

* performClick() 模拟人的手去触发点击时间

*/

public static void setEtActionClick(EditText et, final View view) {

et.setOnEditorActionListener(new TextView.OnEditorActionListener() {

@Override

public boolean onEditorAction(TextView paramTextView, int paramInt,

KeyEvent paramKeyEvent) {

if (paramInt == EditorInfo.IME_ACTION_SEND || paramInt == EditorInfo.IME_ACTION_DONE || paramInt == EditorInfo.IME_ACTION_NEXT)// || (paramKeyEvent != null && paramKeyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER))

return view.performClick();

return false;

}

});

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30467861/article/details/117594412

智能推荐

import torch报错:from torch._C import * ImportError: DLL load failed: 找不到指定的程序,完美解决!_一个努力吃胖的小瘦子的博客-程序员资料_from torch._c import * importerror: dll load faile

import torch报错:from torch._C import * ImportError: DLL load failed: 找不到指定的程序,完美解决!1. 问题描述昨天刚收到新买的笔记本电脑,就迫不及待的着手安装Pytorch。首先安装了Ananconda一切顺利,但是当我用conda命令安装完pytorch,在命令行输入"import torch"后发现报错,错误提示为:“im...

Delphi 的绘图功能[9] - TextRect_kuaidi8的博客-程序员资料_delphi textrect

======================================================注:重要!程序员如何有效的放松身心!下班后做什么?======================================================#1楼 2008-02-17 19:34 保权这部分是gdi吧?抽空我也去研究一下。回复 引用 查看#

论文阅读笔记(二)细粒度图像分类_古书堂烟羽的博客-程序员资料

0、参考文献[1]见微知著 http://geek.csdn.net/news/detail/191718[2]Cyiano http://blog.csdn.net/Cyiano/article/details/720818551、概要细粒度图像识别是现在图像分类中一个颇具挑战性的任务,它的目标是在一个大类中的数百数千个子类中正确识别目标。相同的子类中物体的动作姿态可能大不相

UART的break信号_Colorful_lights的博客-程序员资料_uart break

目录1.TTL电平和RS232电平2.UART的时序3.break信号4.如何检测break信号?最近的一个项目用到了UART的break信号,在查资料的过程中,发现很多文章对break信号有介绍,但是都很简单,看了让人摸不着头脑,所以想把找的资料加上自己的理解整理一下,方便自己以后查看。博客引用的其他人的文章或者论坛等在文末有连接。有很多内容是我对找到的资料的理解,如果有不对...

链接libtorch库时undefined reference_Poke_Huang的博客-程序员资料

解决:libtorch是precxx11版本的cmakelist里添加add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)cxx11版本的cmakelist里添加add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)原因在GCC5.1发布的同时,为libstdc++添加了新的特性,其中也包括了std::string和std::list的新实现。这个新的实现使得两者符合了c++11的标准,具体来说是取消了Copy-On-Write。

dubbo zookeeper Session 0x0 for server 127.0.0.1/<unresolved>:2181_PascalMing的博客-程序员资料

相关组件版本:dubbo 2.7.12zookeeper 3.6.3使用dubbo zookeeper,之前已经测试完毕,记得当时以为Zookeeper连接问题折腾了好久。这次使用,照搬上次的配置,结果报错Session 0x0 for server 127.0.0.1/<unresolved>:2181, unexpected error,完整信息如下:22:40:08.920 [restartedMain] INFO o.a.z.ZooKeeper - [logE

随便推点

【干货】构建理想交通网络——简化osm道路_凌晨GIS的博客-程序员资料

好久不见!毕业之际祝各位兄弟妹子们毕业快乐!有小伙伴提出,在交通网络分析的时候,小伙伴们常常苦恼的不是分析的过程,而是找不到一个好的数据从而不足以构建出一个完美的交通网络。当我们只考虑道路...

Camunda工作流(2)学习笔记:SpringBoot整合Camunda_ouzuting的博客-程序员资料

一.添加依赖<!-- Camunda --><dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId> &lt...

预测性客户分析之借助聚类和预测分析优化售后服务(Part 4)_数据猿的博客-程序员资料

【数据猿导读】本篇是这个系列文章的最后一个部分,将要说明的重点案例是利用聚类分析对售后问题进行分组,对不同分组进行分析,进而采取针对性的优化或者行动作者 | TalkingData官网 | www.datayuan.cn微信公众号ID | datayuancn本篇是这个系列文章的最后一个部分,将要说明的重点案例是利用聚类分析对售后问题进行分组,对不同分组进行分析,进而采取针对性的优化或者行动。如果

linux文件系统二 VFS读写流程_frank_zyp的博客-程序员资料

一、文件系统框架:  从文件系统一种我们了解了linux文件系统的框架,这里我们首先再通过下面简洁的流程图来展示linux文件系统文件读写的大框架:  从上图中可以看出linux文件系统的读写通过调用虚拟文件系统(VFS)的对应接口,从而调用到实际文件系统的读写接口,来进行emmc的操作,这样可以实现多文件系统兼容,如android中的boot/system分区是ext4的...

ubuntu 安装php devel,在Ubuntu中安装不同的PHP版本的方法_不神马的博客-程序员资料

在Ubuntu中安装不同的PHP版本的方法发布时间:2020-08-21 11:55:50来源:亿速云阅读:113作者:小新这篇文章主要介绍在Ubuntu中安装不同的PHP版本的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在本文中,我们将给大家介绍如何使用PPA(全称Personal Package Archives即个人软件包文档)在Ubuntu中安装不同的PHP版...

vue 修改删除重新渲染数据问题_coderlin_的博客-程序员资料_vue重新渲染数据

一般删除修改是一个异步操作,当我们修改数据的时候希望修改完再从数据库取出渲染,这其中就会出现一些异步操作,导致效果往往跟我们想像不同,比如,这是添加成功后需要重新获取数据并且重新分配页面,重新获取数据这是异步操作,我们将他设为异步A,分页这是同步操作,我们设为同步B。如果按照我们所想,先去调用getinfo函数,获取数据,然后通过调用handPageChenk来设置分页,理论上是没错的。但是,发送请求是异步操作,也就是说,它会先执行同步B,在执行异步A,就是先分页了,再重新获取数据,那这样分页的数

推荐文章

热门文章

相关标签