2016-11-14 34 views
0

我想构建一个即时搜索视图,一旦用户输入任何内容,它立即在相同的布局中显示搜索结果。所以我用谷歌搜索,并决定使用onQueryTextChange来实现。然而,我无法弄清楚如何按照ENTER键导致的正常结果“触发”意图,告诉我的Activity有一个事件,即用户在searchview中输入了某些内容,并且您(Activity)应该处理它。Android:如何在使用`OnQueryTextListener`时按下ENTER键来启动搜索意图?

有帮助吗?

回答

0

如果我明白你的意思,你想辨认KEY_EVENT(ENTER)。我已经与风格像原来SearchView定制EditText结束,然后使用OnEditorActionListener

queryEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      if (actionId == EditorInfo.IME_ACTION_SEARCH || 
        (event != null && event.getKeyCode()==KeyEvent.KEYCODE_ENTER)) { 
       performSearch(); 
       return true; 
      } 
      return false; 
     } 
    }); 

SearchView没有setOnEditorActionListener方法,这就是为什么我使用的是简单的EditText

EditorInfo.IME_ACTION_SEARCH选项“如果”内,您可以请求使用magnify图标而不是Enter键的“特殊”键盘布局(但请记住,并非所有键盘都支持此选项,并且自定义键盘应用程序可能会显示“常规”键盘布局)

android:inputType="text|textNoSuggestions" 
android:imeOptions="actionSearch" 
相关问题