我目前SearchView在我的应用程序的操作栏中有一个.当我单击搜索图标时,SearchView扩展和键盘会按预期弹出.单击SearchView框中的"X" SearchView将按预期关闭.但是,当SearchView激活并按下"后退"按钮时,我的应用程序将退出.这是正确的行为,但我现在要做的是捕获后退按钮,只是让它SearchView在SearchView可见时关闭(不是我的应用程序).有没有办法SearchView OnCloseListener()按后退按钮以编程方式调用?例如,像这样:
// On a back button press, if we are currently searching,
// close the SearchView. Otherwise, invoke normal back button
// behavior.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (isSearchViewVisible) {
SearchView searchView = (SearchView) menu.findItem(R.id.searchBox)
.getActionView();
// This method does not exist
searchView.invokeClose();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud) 几周以来,我一直在努力解决这个问题.我有一个全球搜索,提供自定义列表视图,其中包含用户类型的建议.当用户选择一个选项时,我希望searchview返回到完全折叠状态.

相反,它会缩小,但会保持略微扩大的视野.

我已经抛出一切,我可以在这件事上找到它关闭它,但不能为我的生活得到正确的方法.这是功能:
final SearchView.OnCloseListener closeListener = new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
return closeSearch();
}
};
protected boolean closeSearch() {
_searchView.clearFocus();
_searchView.setQuery("", false);
_searchView.setFocusable(false);
_searchMenuItem.collapseActionView();
isSearchFragmentVisible(false);
return false;
}
Run Code Online (Sandbox Code Playgroud)
然后,当从自定义"建议"列表视图中选择项目时,手动调用关闭搜索.
我有一个带搜索图标的操作栏.单击搜索图标后,它将扩展到用户可以键入搜索的搜索栏.
问题是,当用户输入搜索时,我希望搜索栏折叠回图标,但我无法让它在我的生活中发生.
我的操作栏菜单如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >
<item android:id="@+id/menu_search2"
android:actionViewClass="android.widget.SearchView"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always|collapseActionView|"
android:onClick="goToSearch"
/>
<item android:id="@+id/action_scan"
android:icon="@drawable/barcode"
android:onClick="scanBarcode"
android:showAsAction="ifRoom|collapseActionView"
/>
</menu>
Run Code Online (Sandbox Code Playgroud)
我的搜索活动如下:
public class Search extends Fragment implements SearchView.OnQueryTextListener, ReadJSONResult.OnArticleSelectedListener {
private ListView lv;
View v;
SearchView searchView;
private SearchView mSearchView;
private MenuItem mSearchMenuItem;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//set layout here
v = inflater.inflate(R.layout.activity_search, container, false);
setHasOptionsMenu(true);
getActivity().setTitle("Search");
//get user information
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
String userName = prefs.getString("userName", null);
String …Run Code Online (Sandbox Code Playgroud) 我是一名 android 新手,试图为我的新 android 应用程序创建一个底部导航栏,类似于 Instagram 中的导航栏。像这样
单击搜索图标会在操作栏中添加一个搜索栏。我正在构建一个应用程序,用于提醒用户他的医疗预约,底部有三个导航选项卡。我已经创造了这个
在这之后我被卡住了。我是否应该使用三个活动来显示相应选项卡或片段的内容,以及如何实现。
我需要一个recyclerview来显示约会。如何仅在单击底部的搜索图标时显示搜索栏。已经搜索了很多实现这一点,但找不到任何有用的东西。
任何对实现相同的代码或库的建议都会有很大帮助,谢谢。
android android-fragments instagram android-recyclerview bottomnavigationview