gpt4 book ai didi

android - 在 Android 中搜索 View 时如何让后退按钮工作

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:55 25 4
gpt4 key购买 nike

我已经在互联网上搜索了 4 个多小时如何在打开 searchview 时使后退按钮正常工作,但我无法实现。

这是我的搜索 View 。

    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 和一些方法来插入、删除等表和条目。所以我的问题是,每次我点击搜索 View 时,它都会展开以写入文本,一切正常,但是当我从 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();
}
}

最佳答案

当 searchView 打开并按下后退按钮时,您希望看到 searchView 关闭(也称为 setIconified(true)),这是按照 google apps searchview 实现的标准行为。

所以你需要做的就是这样

    mSearchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
mSearchView.setIconified(true);
}
}
});

关于android - 在 Android 中搜索 View 时如何让后退按钮工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27067054/

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