Как я могу получить кликабельную строку элемента в textView ?. Я также попробовал много способов помочь мне, как я могу это сделать.
Мой класс адаптера:
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);
((Proworkoutsclass)holder).workoutname.setText(proworkoutspojos.get(position).getName());
}
@Override
public int getItemCount() {
return proworkoutspojos.size();
}
Следующий код - моя деятельность по получению значений и проходов Правда класс адаптера
Это моя активность:
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);
}
});
private void viewworkouts(List<Proworkoutspojo> body) {
proworkoutAdaptor = new ProworkoutAdaptor(this, body);
mworkouts.setAdapter(proworkoutAdaptor);
}
Мой обновленный код:
mworkouts.addOnItemTouchListener(new
Assighnrecyclertouch(getApplicationContext(), mworkouts, new
Assighnrecyclertouch.ClickListener() {
@Override
public void onClick(View view, int position) {
Proworkoutspojo proworkoutspojo = proworkoutspojos.get(position);
String val = proworkoutspojo.getName();
Toast.makeText(AssignWorkout.this, ""+val, Toast.LENGTH_SHORT).show();
}
@Override
public void onLongClick(View view, int position) {
}
}));
Это это необходимое место для выполнения этого действия

И, наконец, я получил ошибку:
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.List.get(int)' on a null object reference
at com.skalegymapp.gymapp.Trainer.AssignWorkout$13.onClick(AssignWorkout.java:281)
at com.skalegymapp.gymapp.Touch.Assighnrecyclertouch.onInterceptTouchEvent(Assighnrecyclertouch.java:38)
Ошибка Расположение:
Proworkoutspojo proworkoutspojo = proworkoutspojos.get(position);
String val = proworkoutspojo.getName();
Toast.makeText(AssignWorkout.this, ""+val, Toast.LENGTH_SHORT).show();