gpt4 book ai didi

Android SearchView - 空查询不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 07:54:30 26 4
gpt4 key购买 nike

我正在尝试将最近的搜索添加到工具栏上的 SearchView:

 mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}

@Override
public boolean onQueryTextChange(String s) {
if (s!= null )
{
if (s.isEmpty()){
loadRecentList();
}
else{
search(s);
}
}
return true;
}

});

搜索工作正常,但我看不到最近的列表结果。

我找到了这个 Android SearchView.OnQueryTextListener OnQueryTextSubmit not fired on empty query string

但修改 ActionBar 库并不是一个好的解决方案。

有人有其他解决方案吗?谢谢。

编辑:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main_activity, menu);
searchItem = menu.findItem(R.id.btn_earch);
initSearchView();
setSearchViewListener();
return super.onCreateOptionsMenu(menu);
}



protected void initSearchView() {
final String CURSOR_RESOURCE_ID = "mCursorDrawableRes";
final int THRESHOLD = 1;

mSearchView = (SearchView) searchItem.getActionView();

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
mSearchView.setMeasureWithLargestChildEnabled(true);

autoCompleteTextView = (AutoCompleteTextView) mSearchView.findViewById(R.id.search_src_text);
autoCompleteTextView.setThreshold(THRESHOLD);


}

protected void setSearchViewListener() {



mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}

@Override
public boolean onQueryTextChange(String s) {
if (s!= null )
{
if (s.isEmpty()){
loadRecentList();
}
else{
search(s);
}
}
return true;
}

});

btn_search 项目:

<item
android:id="@+id/btn_search"
android:icon="@drawable/ic_search_small"
android:title="@string/tooltip_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always"
/>

最佳答案

我用这样的方法解决

 searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Log.i("MyApp", searchView.getQuery().toString());
consultarListaParadas(searchView.getQuery().toString());
getActivity().runOnUiThread(new Runnable() {
public void run() {
adaptadorListaParadasBus.setListaParadas(listaParadas);
adaptadorListaParadasBus.notifyDataSetChanged();
}
});

return true;
}

@Override
public boolean onQueryTextChange(String newText) {

if(newText.equals("")){
this.onQueryTextSubmit("");
}
return true;
}
});

唯一的问题是它会在您不按搜索按钮的情况下抛出。

关于Android SearchView - 空查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30046201/

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