android - 搜索后如何重置操作栏搜索?

标签 android android-fragments

我在操作栏菜单中创建了一个操作栏搜索。 好吧,如果我单击“开始”按钮或单击屏幕上的任意位置,我会尝试使其进入正常状态。这是我的代码:

public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    final EditText editText = (EditText) menu.findItem(
            R.id.menuSearch).getActionView();

    editText.addTextChangedListener(textWatcher);

    menuItem = menu.findItem(R.id.menuSearch);
    menuItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {


            menuItem.collapseActionView();

            // Do something when collapsed
            return true; // Return true to collapse action view
        }

        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            //editText.clearFocus();


            return true; // Return true to expand action view
        }
    });
    return true;
}

效果很好。但是,它不会进入正常状态。我用过这个功能

            menuItem.collapseActionView();

但是,没有用。提前致谢

最佳答案

试试这段代码

    menuItem.collapseActionView();

里面

 public boolean onOptionsItemSelected(MenuItem item) {

关于android - 搜索后如何重置操作栏搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30955431/

相关文章:

android - 是否可以封装React Js webApps来构建跨平台的移动应用程序?

java - 如果没有可用的互联网连接,则重新安排 AsyncTask 以 4 分钟为间隔在接下来的 20 分钟内运行

android - 如何在 android 上使用 retrofit2 和 rxjava2 发出多个请求?

java - 在单个 Activity 中使用 fragment 构建整个 Android UI?

Android:导航组件 - 如何将工具栏菜单连接到 fragment ?

Android/dev/uinput 不工作

android - Android:如何合成钢琴声音?

java - 公共(public)方法对同一包中的其他类不可见

java - 在某些 fragment 上打开 android 应用程序

java - 如何将谷歌地图 fragment 与操作栏选项卡一起使用