Вы не возражаете против этого?Я уверен, что названия совпадают с вашими, и вы можете просто скопировать весь код и вставить без каких-либо ошибок, просто убедитесь, что вы прочитали несколько комментариев, чтобы понять, а не только использовать.
ДЛЯ ВАШЕГО АДАПТЕРА
public class DosAdapter extends RecyclerView.Adapter<DosAdapter.ViewHolder> {
private OnItemClickListener listener;
private List<Dossier> dossiers = new ArrayList<>();
public DosAdapter(OnItemClickListener listener, List<Dossier> dossiers) {
this.dossiers = dossiers;
this.listener = listener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.folder_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
try {
final Dossier currentDos = dossiers.get(position);
holder.titre.setText(currentDos.getTitre());
holder.titre.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onItemClick(position);
}
});
} catch (Exception e) {
Log.e("Exception", e.getMessage()+"");
}
}
@Override
public int getItemCount() {
return dossiers.size();
}
/*--------------------------------------------------------------------------------------
| GET REFERENCES TO VIEWS HERE
*--------------------------------------------------------------------------------------*/
class ViewHolder extends RecyclerView.ViewHolder {
private TextView titre;
ViewHolder(View itemView) {
super(itemView);
titre = itemView.findViewById(R.id.text_view_titre);
}
}
}
КАК ИСПОЛЬЗОВАТЬ АДАПТЕР С ДЕЯТЕЛЬНОСТИ, КОТОРОЙ НУЖНО ЭТО.
public class MainActivity extends AppCompatActivity implements OnItemClickListener {
private DosAdapter dosAdapter;
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<Dossier> dossiers = new ArrayList<>();
//I'm assuming you already feed your data, so you're not passing null like me here.
recyclerView = findViewById(R.id.recyclerView);
dosAdapter = new DosAdapter(this, dossiers);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setHasFixedSize(true);
recyclerView.addItemDecoration(new
DividerItemDecoration(getApplicationContext(),
DividerItemDecoration.VERTICAL));
recyclerView.setAdapter(dosAdapter);
}
@Override
public void onItemClick(int position) {
System.out.println("clicked position: "+position);
/*
* This will help your tracing from Logcat much easy to trace,
* simply open Logcat and switch from verbose/Debug to Error,
* like that you will not have much logs and tracking the
* printout becomes easier.
* */
Log.e("CLICK TAG", "Clicked position"+position);
}
}
ЕслиВы не торопитесь, чтобы пройти через это, вы поймете это лучше.