У меня есть активность, чтобы показать свои данные.Содержит RecyclerView с CardView.Я получаю значения от веб-службы.Но показывает только 2 из них в CardView.Когда я нажимаю на CardView, начинается новое действие для деталей.И в этом упражнении я хочу заполнить компоненты значениями.Мне нужна помощь в этом.Как я могу сделать это?Должен ли я снова вызвать веб-сервис с запросом, или есть какие-нибудь возможные способы сделать это в Android?
Я пытался сделать некоторые переменные статическими, но мой разум смущен, и я понятия не имею, как это сделать.Кстати, если я нахожусь не в той теме, пожалуйста, перенаправьте меня к действительной.
Вот код, который я получаю значения из веб-службы
public void CallService(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://10.0.3.2:45455/")
.addConverterFactory(GsonConverterFactory.create())
.build();
JsonPlaceholderAPI jsonPlaceholderAPI = retrofit.create(JsonPlaceholderAPI.class);
Call<List<Records>> call = jsonPlaceholderAPI.records();
call.enqueue(new Callback<List<Records>>() {
@Override
public void onResponse(Call<List<Records>> call, Response<List<Records>> response) {
if(!response.isSuccessful()){
Log.v("CODE : " , String.valueOf(response.code()));
return;
}
InitData(response.body());
}
@Override
public void onFailure(Call<List<Records>> call, Throwable t) {
Log.v("ERROR : " , t.getMessage());
}
});
Вот InitData Для проходных значенийв RecyclerView.
public void InitData(List<Records> body){
List<Records> record;
record = body;
for(Records records : record) {
arrayList.add(new RecyclerLayout(" KODU : " + records.getKODU() , "AÇIKLAMA : " + records.getACIKLAMA()));
adapter = new RecyclerAdapter(arrayList);
}
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
Вот перенаправление на детальный код активности
@Override
public void onBindViewHolder(final MyViewHolder holder , final int position) {
holder.kod.setText(arrayList.get(position).getKodu());
holder.aciklama.setText(arrayList.get(position).getAciklama());
holder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context = holder.view.getContext();
// System.out.println("CLICKED " +position);
Intent intent = new Intent(context, KayitDetay.class);
context.startActivity(intent);
}
});
Вот мой POJO без геттеров и сеттеров (они в нем, но я просто не вставляюэто здесь)
@SerializedName("KODU")
@Expose
private String kODU;
@SerializedName("ACIKLAMA")
@Expose
private String aCIKLAMA;
@SerializedName("KAPALI_FL")
@Expose
private boolean kAPALIFL;
@SerializedName("TARIH")
@Expose
private String tARIH;
@SerializedName("TUTAR")
@Expose
private double tUTAR;
@SerializedName("DURUM")
@Expose
private int dURUM;
Я хочу увидеть свои значения в другой деятельности.