2017-05-11 8 views
-3

2つのListFragmentsをタブレイアウトにロードしました。選択したListFragmentの行項目の詳細(現在のタブ)を別のListFragment(次のタブ)で取得する必要があります。どうすればこれを達成できますか? Shared Preferenceに設定するか、他のタブから選択したList Fragmentsの詳細にアクセスする方法はありますか?選択したListFragmentの行アイテムの詳細(現在のタブ)を別のListFragment(次のタブ)に渡す

答えて

0

共有プリファレンスは、プログラムデータではなく、プリファレンスを格納するために使用されます。 ListFragmentがどこからデータを取得するか、アプリケーションの構造がどのようになっているかに応じて、データをバンドルに入れてfragment.getArguments()fragment.setArguments()を使用することができます。

+0

ありがとうございます。しかし、タブ内にタブがある(ネストされたタブ) – Sudhakar100

2

現在選択された行からのデータを送信する:アダプタクリック

   adapter.setClickListener(new HomeAdapter.ClickListener() { 

        @Override 

        public void itemClicked(View view, int position) { 

         Fragment carDetail = new CarDetailFragment(); 
         Gson gson = new Gson(); 
         String jsonString = gson.toJson(mListItem.get(position)); 
         Bundle args = new Bundle(); 
         args.putString("jsonString", jsonString); 
         Log.e("jsonString", jsonString); 
         carDetail.setArguments(
         FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); 
         FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
         fragmentTransaction.addToBackStack(title); 
         fragmentTransaction.replace(R.id.container_body, carDetail); 
         fragmentTransaction.commit(); 

は、別のフラグメントにで選択したデータを取得します.... onCreateViewメソッドにコードの下に置く

...

String jsonString = getArguments().getString("jsonString", " "); 

    Gson gson = new Gson(); 

    Log.e("CAR DETAIL", jsonString); 

    obj = gson.fromJson(jsonString, HomeList.class); 
関連する問題