2017-07-17 6 views
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をクリックし、フィルタリングされた要素を取得します。

enter image description here

2.次のメソッド呼び出しの要素でユーザーのクリック、:MainActivity

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

をそのように見えています:その後

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

を、searchViewが自動的に閉じ、下のような画面。その瞬間を修正する方法

enter image description here

?私は自動的にそれを閉じたくはありません。

RxSearchViewRxJavaの実装で、オーバーレイライドメソッドを使用しないでラッパーします。

+0

「SearchView」は、フォーカスを失うとすぐに自動的に閉じると思います。その論理をサブクラス化して変更することができます。 – azizbekian

+0

@azizbekianこんにちは、フォーカスを持つovverrideメソッドを試していた、それは助けにはなりません。 正しい方法を見つけようとしています –

答えて

0

第2のフラグメントは、ちょうどそれが最初fragment近いからsearchViewを作る方法setupMenu(R.menu.menu_my_task); を呼び出します。

関連する問題