gpt4 book ai didi

android - 为什么双击不触发 onQueryTextChange?

转载 作者:太空狗 更新时间:2023-10-29 13:25:32 27 4
gpt4 key购买 nike

我的 SearchView 上有 onQueryTextChange 监听器。

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String searchString) {
return true;
}

@Override
public boolean onQueryTextChange(String s) {
if (s.length() > 5) {
searchView.setQuery(s.substring(0, 5), false);
}
return false;
}
});

我的目标是将字符数限制为 5 个。问题是,

  1. 我要输入 5 个字符。
  2. 然后我再输入一个字符。
  3. 我再次点击同一个字符,在第二次点击时它没有触发监听器,它在 SearchView
  4. 中显示第 6 个字符

感谢帮助

最佳答案

我没有限制监听器,而是解决了在 SearchView 中获取 EditText 的问题。

我正在使用此方法获取 EditText 但它返回 null,

searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
EditText etSearchView = (EditText) searchView.findViewById(id);
etSearchView.setFilters(new InputFilter[] {new InputFilter.LengthFilter(5)});

我没有获取 EditTextid,而是传递了它的实际 id,它起作用了,

searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
EditText etSearchView = (EditText) searchView.findViewById(R.id.search_src_txt);
etSearchView.setFilters(new InputFilter[] {new InputFilter.LengthFilter(5)});

关于android - 为什么双击不触发 onQueryTextChange?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21637767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com