Я хочу реализовать Recycler View, в котором по нажатии на item будет появляться фрагмент. Но я у меня не работает метод getSupportFragmentManager(), я пытался подставлять getActivity() и FragmentActivity, но у меня ничего не получается.
public class AimsListAdapter extends RecyclerView.Adapter {
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.aims_fragment_list,viewGroup,false);
return new AimsListHolder(view);
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
((AimsListHolder)viewHolder).bindView(i);
}
@Override
public int getItemCount() {
return OurAimsDataForFragment.tittle.length;
}
private class AimsListHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
private TextView AimsTextName;
private TextView AimsTextTap;
private ImageView AimsImage;
public AimsListHolder(@NonNull View itemView) {
super(itemView);
AimsTextName = (TextView)itemView.findViewById(R.id.aims_text_name);
AimsTextTap = (TextView) itemView.findViewById(R.id.aims_text_tap);
AimsImage = (ImageView) itemView.findViewById(R.id.aims_image);
itemView.setOnClickListener(this);
}
public void bindView(int position){
AimsTextName.setText(OurAimsDataForFragment.tittle[position]);
AimsTextTap.setText(OurAimsDataForFragment.tap[position]);
AimsImage.setImageResource(OurAimsDataForFragment.picturePath[position]);
}
@Override
public void onClick(View v) {
int position = getAdapterPosition();
switch (position) {
case 1:
Fragment verifragment = new AimsDialogMetkaFragment();
FragmentTransaction ft3 = FragmentActivity.getSupportFragmentManager().beginTransaction();
ft3.add(R.id.content_frame, verifragment);
ft3.commit();
break;
}
}
}
getSupportFragmentManager()
это метод активности, а RecyclerView это не активность, а вью, которая ни про какие активности не знает ничего.
У вью должен быть слушатель нажатий, через который и можно оповестить активность, что был нажат элемент номер такой то, а уже сама активность решит показывать или нет диалог или сделать что то другое.
Нужно копать в сторону onItemClicked(int position). Вот что то вроде вот такого или вот такого.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Простите, как я могу обратиться к методу getName из активности NavigationActivity?
Есть код, который отвечает за отправку формы на сайте:
есть выпадающий список и снизу кнопки , при нажатие на кнопки выбирается из списка select по строке , мне нужно что бы выбиралось не по строке...