В моем текущем коде я могу передать и отобразить одно значение в RecyclerView. Я не уверен, что мне не хватает или мне нужно полностью изменить свой код.
Вот мой класс адаптера:
public class TechSkillsAdapter extends RecyclerView.Adapter<TrainingViewHolder> {
Context c;
ArrayList<String> trainings;
public TechSkillsAdapter(Context c, ArrayList<String> trainings) {
this.c = c;
this.trainings = trainings;
}
@Override
public TrainingViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(c).inflate(R.layout.cv_traininglist, parent, false);
return new TrainingViewHolder(v);
}
@Override
public void onBindViewHolder(TrainingViewHolder holder, int position) {
holder.date_txt.setText(trainings.get(position));
}
@Override
public int getItemCount() {
return trainings.size();
}
}
Я извлекаю список, используя модификацию, а затем передаю значения методу, который отображает их в обзоре переработчика.
Вот как я получаю тренировки:
private void getTraining(final String id, String tid){
com.trendmicro.projectlara.apis.ApiServiceTraining apiService = ApiClient.getClient().create(ApiServiceTraining.class);
Call<List<Training>> call = apiService.getMyTraining(id, tid);
call.enqueue(new Callback<List<Training>>() {
@Override
public void onResponse (Call<List<Training>> call, Response<List<Training>> response) {
List<Training> training = response.body();
for(Training t: training){
fillTrainings(t.getTraining_title().toString(), t.getTraining_date().toString());
}
}
Вот мой метод fillTrainings.
Я передаю два значения, но могу отображать только одно значение:
private void fillTrainings(String title, String date) {
training.add(title);
adapter = new TechSkillsAdapter(getContext(), training);
rv.setAdapter(adapter);
progressDialog.dismiss();
}
Вот что я пытаюсь исправить, я не уверен, как отобразить дату, так как способ добавления значений: training.add(title);
Любая помощь или совет очень ценится. Спасибо!