ых данных в recycler-view
Задать вопрос
0
У меня есть фрагмент с двумя кнопками. Каждая из них сейчас ведет на фрагмент с recycler-view, однако надо сделать так, чтобы в recycler-view загружались разные данные в зависимости от выбранной кнопки. Можно ли это сделать с один фрагментом с recycler-view? Или нужно создавать второй для второй кнопки?
Код фрагмента с кнопками (для простоты просто поставил клик на картинки)
ImageView imageView = (ImageView) view.findViewById(R.id.menu_image);
Glide.with(this).load(R.drawable.cutting_coupon).into(imageView);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TestFragment newFragment = new TestFragment();
((AppCompatActivity) imageView.getContext()).getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, newFragment)
.addToBackStack(null)
.commit();
}
});
ImageView imageView1 = (ImageView) view.findViewById(R.id.menu_image1);
Glide.with(this).load(R.drawable.sale).into(imageView1);
imageView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TestFragment newFragment = new TestFragment();
((AppCompatActivity) imageView.getContext()).getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, newFragment)
.addToBackStack(null)
.commit();
}
});
public class TestFragment extends Fragment {
private ArrayList<GalleryGridObject> galleryList = new ArrayList<GalleryGridObject>();
private TestAdapter mAdapter;
private RecyclerView recyclerView;
public TestFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_test, container, false);
recyclerView = (RecyclerView) view.findViewById(R.id.my_recycler_view);
mAdapter = new TestAdapter(this, galleryList);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(mAdapter);
recyclerView.setHasFixedSize(true);
prepareGalleryData();
return view;
}
private void prepareGalleryData()
{
GalleryGridObject gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
gallery = new GalleryGridObject(R.drawable.test);
galleryList.add(gallery);
mAdapter.notifyDataSetChanged();
}