私はRecyclerViewとViewPagerを持つMenuActivityを持っています。このViewPagerには3つの異なるFragmentを使用する3つのページがあります。 FragmentOne、FragmentTwo、FragmentThree、これらのすべてのフラグメントはRecyclerViewデータを使用します。 3つの異なるArrayListをRecyclerViewアダプタで設定する必要があります。これは、Fragmentユーザーが表示しているものによって異なります。 3つのすべてのフラグメントにRecyclerViewを配置し、Fragmentに更新データを取得する方法が1つあります。私は、Fragmentが呼び出されたことに基づいてMenuActivityでアダプタデータを設定できるかどうかを知りたいだけです。Androidの単一RecyclerViewに異なるアダプタを設定する
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_menu, container, false);
recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
itemList = new ArrayList<>();
prepareMenuData();
vegadapter = new MenuItemAdapter(getContext(),vegItemList);
nonvegadapter = new MenuItemAdapter(getContext(),nonvegItemList);
dessertAdapter = new MenuItemAdapter(getContext(),dessertItemList);
recyclerView.setAdapter(vegadapter);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
return rootView;
}
prepareMenuData(); vegadapterを設定する際
for (MenuItem item:itemList)
{
if(item.getCategory().equals("VEG"))
{
vegItemList.add(item);
vegadapter.notifyDataSetChanged();
}
if(item.getCategory().equals("NONVEG"))
{
nonvegItemList.add(item);
nonvegadapter.notifyDataSetChanged();
}
if(item.getCategory().equals("DESSERTVEG"))
{
dessertItemList.add(item);
dessertAdapter.notifyDataSetChanged();
}
}
このコードでは、提案してください nonvegadapterなど、知りません。 ありがとう ディープク