300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android 设置键盘按钮事件 Android 改变软键盘的回车键按钮格式 然后监听回车键的点击事件...

android 设置键盘按钮事件 Android 改变软键盘的回车键按钮格式 然后监听回车键的点击事件...

时间:2020-12-17 13:39:46

相关推荐

android 设置键盘按钮事件 Android 改变软键盘的回车键按钮格式 然后监听回车键的点击事件...

EditText中有一个属性:imeOptions。它的参数常用的有如下几种:1.actionNext下一步,通常用于跳转到下一个EditText(回车键监听不到)

2.actionGo前往,通常用于打开链接

3.actionSend发送,通常用于发送信息

4.actionSearch搜索,通常用于搜索信息

5.actionDone确认,通常表示事情做完了(回车键监听不到)

例如:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:imeOptions="actionSearch"

android:singleLine="true"/>

注意这里一定还要设置singLine=“true”,不然回车还是换行的功能。

设置完成以后,我们可以设置回车键的点击事件。editText.setOnKeyListener(new View.OnKeyListener() {

@Override

public boolean onKey(Viewv,int keyCode,KeyEventevent){

if(keyCode==event.KEYCODE_ENTER){

//TO DO

}

//我测试的为true的时候,这时候我的删除键不能正常使用,因此返回为false

return false;

}

});

到这里的时候,我又发现了一个问题,回车键的点击事件会执行两次。这是由于Key有Down和Up事件,即你按下和松开的时候都会触发事件,所以会执行两次。因此我们需要处理一下:// TODO

if(keyCode == KeyEvent.KEYCODE_ENTER&& event.getAction() == KeyEvent.ACTION_DOWN) {

InputMethodManager imm = (InputMethodManager) v.getContext()

.getSystemService(Context.INPUT_METHOD_SERVICE);

key = search_edit_text.getText().toString();

if(imm.isActive()) {

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

}

}

return false;

我们的处理是加上了判断当前是按下的操作,然后还添加了判断软键盘是不是显示状态,如果是就隐藏,即你点击回车键后就关闭软键盘。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。