今、フラグメントで表示したリストビューのアイテムを選択すると、詳細画面のフラグメントを開くプログラムを書いています。
リストビューで選択したリストニューに表示しているアイテムのデータを詳細画面のフラグメントでも利用したいのですが、以下の通り、bundleで送っても、次のフラグメントでのアイテムとして利用できませんでした。
似たような質問があったので、おそらく、そもそもの思想がまずいのかと思うのですが、どのようにすれば実装できるのか手がかりが掴めずにいます。
どなたかアドバイスをお願いします。
Fragment_Manage.java
1public class Fragment_Manage extends Fragment { 2 3 private static final String TAG = "MainActivity"; 4 private ArrayList<MainList> main_List = new ArrayList<MainList>(); 5 MainListAdapter adapter; 6 7 ListView mListView; 8 9 10(略) 11 12 mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 13 @Override 14 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 15 Fragment_Manage_Detail fragment = new Fragment_Manage_Detail(); 16 Bundle bundle = new Bundle(); 17 MainList item = (MainList)adapter.getItem(position); 18 bundle.putSerializable("mainList", item); 19 fragment.setArguments(bundle); 20 FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); 21 FragmentTransaction transaction = fragmentManager.beginTransaction(); 22 transaction.replace(R.id.main_frame, fragment); 23 //backボタンで戻ってこれるように 24 transaction.addToBackStack(null); 25 transaction.commit(); 26 } 27 }); 28
Fragment_Manage_Detail.java
1public class Fragment_Manage_Detail extends Fragment{ 2 @Nullable 3 @Override 4 public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState){ 5 return inflater.inflate(R.layout.fragment_manage_detail, null); 6 7 Bundle bundle = getArguments(); 8 MainList item = bundle.getSerializable("mainList"); 9 10 11 } 12 13 14 15} 16
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/21 12:27