Как я могу получить кликабельное название элемента и отобразить его в текстовом представлении и его идентификаторе с помощью recyclerview? - PullRequest
0 голосов
/ 27 марта 2020

This is my layout design

Я пытаюсь получить позицию позиции, которую можно активировать нажатием, установить и повторить. Я использую recyclerview, но он показывает ошибку нулевого указателя. Как я могу получить эту строку позиции? это возможно получить.

AssignClass. java

        ServiceWrapper serviceWrapper = new ServiceWrapper(null);


        LinearLayoutManager manager = new LinearLayoutManager(AssignWorkout.this, LinearLayoutManager.HORIZONTAL, false);
        mworkouts.setLayoutManager(manager);

        Call<List<Proworkoutspojo>> calls = serviceWrapper.proListCallListCall();
        calls.enqueue(new Callback<List<Proworkoutspojo>>() {
            @Override
            public void onResponse(Call<List<Proworkoutspojo>> call, Response<List<Proworkoutspojo>> response) {
                if(response.isSuccessful())
                {
                    if(response.body()!=null)
                    {
                        viewworkouts(response.body());
                    }
                }
            }

            @Override
            public void onFailure(Call<List<Proworkoutspojo>> call, Throwable t) {
                Log.e("List of workouts", ""+t);
            }
        });

Мой адаптер

public class ProworkoutAdaptor extends RecyclerView.Adapter {

    Context context;
    List<Proworkoutspojo> proworkoutspojos;

    public ProworkoutAdaptor(Context context, List<Proworkoutspojo> proworkoutspojos) {
        this.context = context;
        this.proworkoutspojos = proworkoutspojos;
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.pro_workout_list, parent, false);
        return new Proworkoutsclass(view);
    }

    public static class Proworkoutsclass extends RecyclerView.ViewHolder {

        ImageView workoutimage, selection;
        TextView workoutname;

        public Proworkoutsclass(@NonNull View itemView) {
            super(itemView);
            workoutimage = itemView.findViewById(R.id.workoutimage);
            selection = itemView.findViewById(R.id.selection);
            workoutname = itemView.findViewById(R.id.workoutname);
        }
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
        Glide.with(context).load(proworkoutspojos.get(position).getImage()).centerCrop().into(((Proworkoutsclass)holder).workoutimage);
//        Glide.with(context).load(proworkoutspojos.get(position).getImage()).centerCrop().into(((Proworkoutsclass)holder).selection);
        ((Proworkoutsclass)holder).workoutname.setText(proworkoutspojos.get(position).getName());
    }

    @Override
    public int getItemCount() {
        return proworkoutspojos.size();
    }
}

это возможно означает предложить любое видео для моей справки

1 Ответ

0 голосов
/ 27 марта 2020

Вы можете посмотреть этот пост RecyclerView onClick и выполнить необходимую работу в onClick

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...