0
在我的情況下,我有activity
與2個容器fragments
。 一個容器顯示Fragment
帶列表,第二個顯示所選列表項的詳細信息。第二個容器默認爲GONE
。SearchView自動關閉
在活動我有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;
});
}
和,我在OnCreateView();
問題的情況下使用的方法setHasOptionsMenu(true);
:
1。用戶點擊searchView,並獲得過濾元素:
2.用戶點擊的元素,調用next方法:
`((MainActivity)getActivity()).showSecondaryFragment(TaskDetailFragment.newInstance();`
在MainActivity
它看起來像:
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.ltRightContainer, baseFragment)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.commit();
之後,搜索查看自動關閉,像下面的屏幕。
如何解決這個問題的時刻?我不希望它自動關閉。
RxSearchView
只是包裝與RxJava
實施,沒有ovverride方法。
我覺得SearchView'一旦失去焦點就會自動關閉。您可以繼承並更改該邏輯。 – azizbekian
@azizbekian嗨,被嘗試與重點的ovverride方法,它沒有幫助。 試圖找到正確的方法 –