Как я могу создать пользовательский список в android fragment с помощью onclick для различных элементов в списке?
могу ли я использовать ListFragment для достижения того, что я сказал выше, или мне нужно заказ переработчик вид внутри фрагмента, я пытался поставить переработчик вид внутри фрагмента, но я не знаю как сделать onclick для утилизации вид работы с фрагментом, так что он передает данные на другой фрагмент или другой вид деятельности в случае мульти-панели пользовательского интерфейса, так что я могу использовать список фрагмент или мой единственный выход-переработчик посмотреть, если это то, как я могу сделать ее в переработчик зрения ?
моя основная активность, которая имеет фрагмент, содержащий представление recycler
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager fm = getSupportFragmentManager(); Fragment fragment = fm.findFragmentById(R.id.main_fragment_container); if (fragment == null) { fragment = new FragmentRecyclerList(); fm.beginTransaction() .add(R.id.main_fragment_container, fragment) .commit(); } } }
мой фрагмент, содержащий представление recycler
public class FragmentRecyclerList extends Fragment implements MyDialog.OnInputSelected { private RecyclerView recyclerView; private RecyclerViewAdapter recyclerViewAdapter; private List<string> titles; private FloatingActionButton fab; public FragmentRecyclerList() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_fragment_recycler_list, container, false); } void showDialog() { MyDialog myDialog = new MyDialog(); myDialog.setTargetFragment(FragmentRecyclerList.this, 1); myDialog.show(getFragmentManager(), "MyDialog"); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); recyclerView = getView().findViewById(R.id.recyclerview); fab = getView().findViewById(R.id.floatingActionButton); titles = new ArrayList<>(); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerViewAdapter = new RecyclerViewAdapter(getActivity(), titles); recyclerView.setAdapter(recyclerViewAdapter); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showDialog(); } }); } }
мой переработчик вид адаптера
public class RecyclerViewAdapter extends RecyclerView.Adapter { private Context context; private List<string> titles; public RecyclerViewAdapter(Context context, List<string> titles) { this.context = context; this.titles = titles; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_wallpaper , parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { String title = titles.get(position); holder.tvTitle.setText(title); } @Override public int getItemCount() { return titles.size(); } public class ViewHolder extends RecyclerView.ViewHolder { public TextView tvTitle; public ViewHolder(@NonNull View itemView) { super(itemView); View v = itemView; tvTitle = itemView.findViewById(R.id.row_title); }
Что я уже пробовал:
я перепробовал много способов, но ничего не работает.