SearchView自动关闭

时间:2017-07-17 16:15:50

标签: android searchview

就我而言,我activity有2个fragments容器。 一个容器显示Fragment列表,第二个显示所选列表项的详细信息。默认情况下,第二个容器GONE

在活动中我有SearchView,我从片段中得到的实例是:

@Override
    public void onPrepareOptionsMenu(Menu menu) {
        MenuItem searchMenuItem = menu.findItem(R.id.action_search);
        rxSearchView = (RxSearchView) searchMenuItem.getActionView();
        rxSearchView.setSearchListener(taskListPresenter);
        rxSearchView.setOnCloseListener(() -> {
            taskListPresenter.clearSearch();
            return false;
        });
    }

并且,我在setHasOptionsMenu(true);

中使用方法OnCreateView();

问题案例:

1.用户点击searchView,获取已过滤的元素:

enter image description here

2。用户点击元素,调用下一个方法:

`((MainActivity)getActivity()).showSecondaryFragment(TaskDetailFragment.newInstance();`

MainActivity中,它看起来像那样:

 getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.ltRightContainer, baseFragment)
            .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
            .commit();

之后,searchView会自动关闭,就像下面的屏幕一样。

enter image description here

如何解决这一刻?我不希望它自动关闭。

RxSearchView只是使用RxJava实现的包装器,没有ovverride方法。

1 个答案:

答案 0 :(得分:0)

第二个片段只是调用方法setupMenu(R.menu.menu_my_task); 它使searchView从第一个fragment关闭。