我已经在互联网上搜索了4个多小时,想要在搜索视图打开时正确地使用返回按钮,但我无法实现。
这是我的搜索视图:
searchview = (SearchView) findViewById(R.id.searchView);
searchview.setOnClickListener(this);
@Override
public void onClick(View v) {
if (v.getId() == R.id.searchView){
//Cursor cursor = manager.obtenerIDColumnaServicio(searchview.getQuery().toString());
adapterOfDataBase.changeCursor(cursor);
}
}
这里是XML代码:
<SearchView
android:layout_width="match_parent"
android:layout_height="63dp"
android:id="@+id/searchView"
android:iconifiedByDefault="true"
android:backgroundTint="#ff000000"
android:layout_marginRight="0dp" />
所有这些都在一个使用SQL和一些插入、删除等方法的巨大类中完成。那么我的问题是,每当我点击搜索视图时,它会展开以便输入文本,每件事都很好,但是当我从Android上按下返回按钮时,什么也不会发生。
我尝试了2个选项,但都没有起作用,如果你能帮助我就好了....
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) { //MEJORAR ESTO
if (keyCode == KeyEvent.KEYCODE_BACK) {
searchview.onActionViewCollapsed();
return true;
}
return super.onKeyDown(keyCode, event);
}
//None of this 2 methods are working. I tried them separately
@Override
public void onBackPressed(){
if (!this.searchview.isIconified()) {
this.searchview.setIconified(true);
} else {
super.onBackPressed();
}
}