Android SearchView:按下spyglass键时再次搜索

时间:2013-02-27 09:34:40

标签: android searchview key-events android-virtual-keyboard

我正在使用SearchView小部件来搜索ListView中的文本 输入文本时,将打开虚拟键盘。 我想在按下“望远镜键”时重复搜索 如何拦截虚拟键盘键事件?

注意:请勿将虚拟键盘中右下角的spyglass键与SearchView小部件中的spyglass图标混淆。

我会告诉你我的尝试,因此我知道它不起作用:

  • SearchView上的onQueryTextChange()
  • SearchView上的onKeyListener()
  • SearchView上的TextWatcher()
  • ListView上的dispatchKeyEvent()

1 个答案:

答案 0 :(得分:2)

这是我的解决方案。
我还没有找到如何获得“spyglass键”的KeyEVent(我认为它与KEYCODE_ENTER相同),所以我做的是启用SearchView上的“提交”按钮,我接到{{1每次单击它(onQueryTextListener的方法)。

onQueryTExtSubmit()

    sv = (SearchView) findViewById(R.id.viewer_search);
    sv.setOnQueryTextListener(searchListener);
    sv.setSubmitButtonEnabled(true);
    sv.setIconifiedByDefault(false);