Я использую модификацию для вызова данных. Ниже мой pojo
public class DataList {
@SerializedName("pariyojanaId")
@Expose
private Integer pariyojanaId;
@SerializedName("projectStatus")
@Expose
private String projectStatus;
@SerializedName("heading")
@Expose
private String heading;
@SerializedName("projectNumber")
@Expose
private Integer projectNumber;
@SerializedName("fieldTitle")
@Expose
private String fieldTitle;
@SerializedName("targetedGroup")
@Expose
private String targetedGroup;
//getter setter
}
Ниже приведен мой класс модернизации.
pariyojanaInterfaces = ApiClient.getApiClient().create(PariyojanaInterface.class);
Call<DataList> call = pariyojanaInterfaces.getData(memberId);
Log.e("urll",call.request().toString());
call.enqueue(new Callback<DataList>() {
@Override
public void onResponse(Call<DataList> call, Response<DataList> response) {
datas = Collections.singletonList(response.body());
ItemListAdapter itemListAdapter = new ItemListAdapter(context, datas);
holder.rv.setLayoutManager(new LinearLayoutManager(context));
holder.rv.setAdapter(itemListAdapter);
}
@Override
public void onFailure(Call<DataList> call, Throwable t) {
Log.e("error", t.getMessage());
}
});
Мой адаптер устанавливается, но установленное значение равно нулю. Ниже приведен держатель bindView моего класса адаптера.
public void onBindViewHolder(ListViewHolder holder, int position) {
datas = dataList.get(position);
//Log.e("datasss", datas + "");
holder.txtPariyojanaId.setText(String.valueOf(datas.getPariyojanaId()));
holder.txtProjectStatus.setText(String.valueOf(datas.getProjectStatus()));
holder.txtHeading.setText(String.valueOf(datas.getHeading()));
holder.txtFieldTitle.setText(datas.getFieldTitle());
holder.txtTargetedGroup.setText(datas.getTargetedGroup());
Log.e("datahead","" + datas.getHeading() );
}
Когда я распечатываю журнал, печатаемые данные нулевые. Я не думаю, что с моим pojo что-то не так, и в url-адресе тоже есть данные. Может ли кто-нибудь помочь мне решить эту проблему? Я не знаю, почему я получаю ноль.
PariyojanaId lolz. В любом случае, попробуйте добавить if (response.isSuccessFull ()) {код для установки данных} else {показать сообщение об ошибке}
@Farrokh привет, я пробовал это внутри BindHolder, lekhaDrillModel = posts.get (position); itemListAdapter = новый ItemListAdapter (контекст, данные); установить линейный макет Holder.rv.setAdapter (itemListAdapter); pariyojanaInterfaces = ApiClient.getApiClient (). create (PariyojanaInterface.class); Вызов <DataList> call = pariyojanaInterfaces.getData (memberId); call.enqueue (new Callback <DataList> () {onResponse: datas = (List <DataList>) response.body (); itemListAdapter.notifyDataSetChanged ();} Исключение нулевого указателя при возврате dataList.size ();
распечатайте свой response.body() и посмотрите, что вернулось
@Farrokh возвращает объект списка данных [nirc.com.gwp.organizationaluser.management.model.Pariyojana .DataList @ 16d51968]
вызвать
itemListAdapter .notifyDataSetChanged()