0
私の場合、にはfragments
の2つのコンテナがあります。 1つのコンテナがリスト付きFragment
を表示し、2番目が選択したリスト項目の詳細情報を表示します。 2番目のコンテナ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;
});
}
および、Iは、問題の場合
OnCreateView();
方法setHasOptionsMenu(true);
を使用:
1。ユーザーがsearchViewをクリックし、フィルタリングされた要素を取得します。
2.次のメソッド呼び出しの要素でユーザーのクリック、:MainActivity
で
`((MainActivity)getActivity()).showSecondaryFragment(TaskDetailFragment.newInstance();`
をそのように見えています:その後
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.ltRightContainer, baseFragment)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.commit();
を、searchViewが自動的に閉じ、下のような画面。その瞬間を修正する方法
?私は自動的にそれを閉じたくはありません。
RxSearchView
RxJava
の実装で、オーバーレイライドメソッドを使用しないでラッパーします。
「SearchView」は、フォーカスを失うとすぐに自動的に閉じると思います。その論理をサブクラス化して変更することができます。 – azizbekian
@azizbekianこんにちは、フォーカスを持つovverrideメソッドを試していた、それは助けにはなりません。 正しい方法を見つけようとしています –