1

私は5つの断片からなるViewPagerを持っています。最初の断片にRecyclerViewを表示して、料理の項目のリストを表示します。 RecyclerViewアイテムでクリックリスナーを実装しました。ではになりました。クリックした料理に関する詳細情報を表示するフラグメントを開きたいのですが、このフラグメントはRecyclerViewを保持しているフラグメントを置き換えるものでなければなりません。 5 ViewPagerの断片。もう一度ViewPagerでスワイプできる別のフラグメントに実装されているRecyclerViewアイテムをクリックしてフラグメントを開く方法は?

はどのように私は料理の情報断片と元ViewPagerフラグメントを置換するようにViewPagerによって制御されるフラグメントの内、RecyclerViewアイテムの内側をクリックリスナーとディッシュ情報フラグメントを呼び出すことができますか?

+0

をクリックしrecyclerViewアイテムにこのコードを呼び出しますか? – YoLo

+0

私は、dish_infoによってRecyclerView itemのonClickメソッドの中でフラグメントを開こうとしました。dish_info = new dish_info(); getActivity()getSupportFragmentManager()のbeginTransaction()(R.id.viewPager、dish_info、 "findMe")を置き換えるaddToBackStack(ヌル).commit()。。。。。私はアイテムをクリックしたとき –

+0

あなたはそれがfragmentContainer '、私はViewPagerを持っていることを何OnFragmentInteractionListener – YoLo

答えて

0

新しい断片、すなわちディッシュ詳細断片を作成する必要があります。 リサイクラービューのリストアイテムをクリックすると、既存のフラグメントをitemDetailフラグメントで置き換えます。 例: - あなたのコンテナビューが "R.id.fragmentContainer"であり、このコンテナでフラグメントをロードしていると仮定しています。

は今ちょうどあなたがこれまでに試したんでした何

ItemDetailFragment itemDetailFragment=new ItemDetailFragment(); 

    FragmentTransaction transaction = 
     getFragmentManager().beginTransaction(); 

    transaction.setCustomAnimations(animSlideIn, animSlideOut, animSlideIn, animSlideOut); 
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).replace(R.id.fragmentContainer, itemDetailFragment) 
      .commitAllowingStateLoss(); 
+0

を実装する必要がありますMainActivityのために言って例外をスローし、あなたのコード –

+0

これは、あなたの5タブフラグメントをロードしているあなたの親のレイアウトの図です。私はダミーの名前を使用します(Framelayout、フラグメントまたは他のレイアウトにすることができます).Soフラグメントコンテナは断片コンテナIDです –

関連する問題