【问题标题】:detect keyboard search button检测键盘搜索按钮
【发布时间】:2021-12-12 01:57:35
【问题描述】:

我将 android 软键盘更改为显示搜索图标而不是 Enter 图标。我的问题是:我怎样才能检测到用户点击了那个搜索按钮?

【问题讨论】:

    标签: java android android-edittext android-softkeyboard


    【解决方案1】:

    在编辑文本中,您可能使用了输入法选项进行搜索。

    <EditText
          android:imeOptions="actionSearch"
          android:inputType="text"/>
    

    现在使用 EditText 上的 Editor 监听器来处理搜索事件,如下所示:

    editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
               // Your piece of code on keyboard search click 
                return true;
            }
            return false;
        }
    });
    

    【讨论】:

    • 我的代码不能用这个方法运行!!它对我不起作用
    • “它不起作用”从未帮助过任何人。具体是最棒的事情!
    • 请注意,在现代(4+)android 上,您似乎还需要“android:inputType="text"”。
    • 太棒了!节省大量时间。面临同样的问题。
    【解决方案2】:

    您可以使用OnQuerySubmit监听器获取键盘搜索按钮点击事件。

    方法如下,

    searchView.setOnQueryTextListener(queryTextListener);
    
    SearchView.OnQueryTextListener queryTextListener
            = new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            showLog("searchClickListener onQueryTextSubmit");
            getPhotos(searchView.getQuery().toString());
            return true;
        }
    
        @Override
        public boolean onQueryTextChange(String s) {
            return false;
        }
    };
    

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      相关资源
      最近更新 更多