Android EditText修改回车键为搜索

1、XML中给EditText添加属性 android:imeOptions=”actionSearch”
2、代码中设置监听事件
方法一:

 mViewSearch.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                //该方法中此处keyCode == event.KEYCODE_SEARCH不起作用,
                // 且该方法会被执行两次(所以加event.getAction()==KeyEvent.ACTION_UP)
                if (event.getAction() == KeyEvent.ACTION_UP && keyCode == event.KEYCODE_ENTER) {
                    //执行搜索方法

                }
                return false;
            }
        });

方法二:

 mViewSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                    //执行搜索方法

                }
                return false;
            }
        });

补充说明:
方法一监听的是触摸事件,存在down和up两种,所以不加event.getAction() == KeyEvent.ACTION_UP判断的话会被执行两次;建议使用方法二
像回车键改完成、下一步类似,设置属性代码中判断条件即可。

猜你喜欢

转载自blog.csdn.net/Pillar1066527881/article/details/80340229