在我的Android应用程序中我想从我的Web服务获取数据到我的回收视图,而我得到了我的数据我得到了一个错误,这是我的代码
StringBuilder sb = new StringBuilder();
sb.Append("<script>");
sb.Append("alert('aa')");
sb.Append("</script>");
HtmlGenericControl span = new HtmlGenericControl("span");
span.InnerHtml = sb.ToString();
this.form1.Controls.Add(span);
我有这个错误
java.lang.NullPointerException:尝试在空对象引用上调用虚方法'java.util.List com.example.ipul.aprovementfullservice.Model.ResponseCustomerData.getData()'
at com.example.ipul.aprovementfullservice.UI.UserMenu $ 1.onResponse(UserMenu.java:77)
当我使用我的调试模式时,responseCustomerData为null,然后我很困惑,为什么我得到这样的错误,我创建我的模型响应就像我的Web服务问一样 对不起语法不好,英语不是我的母语 所以我希望你们都帮助我,谢谢你们。
编辑这是我的列表getCustomer
public class UserMenuActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_menu);
retrofit = new Retrofit.Builder().baseUrl("http://172.31.32.17:9290/")
.addConverterFactory(GsonConverterFactory.create())
.build();
afs = retrofit.create(AdminFullService.class);
responseLoginHome = (ResponseLoginHome) getIntent().getSerializableExtra("data");
initViews();
getCustomer = new getCustomer();
}
private void initViews() {
recyclerViewCustomer = (RecyclerView) findViewById(R.id.recycler_view_user_menu);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
recyclerViewCustomer.setLayoutManager(layoutManager);
recyclerViewCustomer.setHasFixedSize(true);
adapterCustomer = new DataAdapterCustomer(this, getCustomerList);
loadData();
}
private void loadData() {
Call<ResponseCustomerData> callCustomer = afs.customerDataView("bearer " + responseLoginHome.getData().getAuth_token());
callCustomer.enqueue(new Callback<ResponseCustomerData>() {
@Override
public void onResponse(Call<ResponseCustomerData> call, Response<ResponseCustomerData> response) {
ResponseCustomerData responseCustomerData = response.body();
getCustomerList.clear();
getCustomerList.addAll(responseCustomerData.getData()); //this is where i got error in my logcat
recyclerViewCustomer.setAdapter(adapterCustomer);
adapterCustomer.notifyDataSetChanged();
getCustomer.getTanggalLahir().substring(0,10);
Toast.makeText(UserMenu.this, getCustomer.getTanggalLahir(), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<ResponseCustomerData> call, Throwable t) {
Log.d("Error", t.getMessage());
}
});
}
}
这是我的模型ResponseCustomerData
public class getCustomer{
public String getNoHP() {
return noHP;
}
public void setNoHP(String noHP) {
this.noHP = noHP;
}
public String getRegistrationDate() {
return registrationDate;
}
public void setRegistrationDate(String registrationDate) {
this.registrationDate = registrationDate;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getNoID() {
return noID;
}
public void setNoID(String noID) {
this.noID = noID;
}
public String getJenisID() {
return jenisID;
}
public void setJenisID(String jenisID) {
this.jenisID = jenisID;
}
public String getTanggalLahir() {
return tanggalLahir;
}
public void setTanggalLahir(String tanggalLahir) {
this.tanggalLahir = tanggalLahir;
}
public String getJenisKelamin() {
return jenisKelamin;
}
public void setJenisKelamin(String jenisKelamin) {
this.jenisKelamin = jenisKelamin;
}
public String getNamaIbuKandung() {
return namaIbuKandung;
}
public void setNamaIbuKandung(String namaIbuKandung) {
this.namaIbuKandung = namaIbuKandung;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
public String getProvinsi() {
return provinsi;
}
public void setProvinsi(String provinsi) {
this.provinsi = provinsi;
}
public String getKota() {
return kota;
}
public void setKota(String kota) {
this.kota = kota;
}
public String getKecamatan() {
return kecamatan;
}
public void setKecamatan(String kecamatan) {
this.kecamatan = kecamatan;
}
public String getKelurahan() {
return kelurahan;
}
public void setKelurahan(String kelurahan) {
this.kelurahan = kelurahan;
}
public String getKodepos() {
return kodepos;
}
public void setKodepos(String kodepos) {
this.kodepos = kodepos;
}
public String getAlamatDomosili() {
return alamatDomosili;
}
public void setAlamatDomosili(String alamatDomosili) {
this.alamatDomosili = alamatDomosili;
}
public String getProvinsiDomisili() {
return provinsiDomisili;
}
public void setProvinsiDomisili(String provinsiDomisili) {
this.provinsiDomisili = provinsiDomisili;
}
public String getKotaDomisili() {
return kotaDomisili;
}
public void setKotaDomisili(String kotaDomisili) {
this.kotaDomisili = kotaDomisili;
}
public String getKecamatanDomisili() {
return kecamatanDomisili;
}
public void setKecamatanDomisili(String kecamatanDomisili) {
this.kecamatanDomisili = kecamatanDomisili;
}
public String getKelurahanDomisili() {
return kelurahanDomisili;
}
public void setKelurahanDomisili(String kelurahanDomisili) {
this.kelurahanDomisili = kelurahanDomisili;
}
public String getKodeposDomisili() {
return kodeposDomisili;
}
public void setKodeposDomisili(String kodeposDomisili) {
this.kodeposDomisili = kodeposDomisili;
}
public String getFotoID() {
return fotoID;
}
public void setFotoID(String fotoID) {
this.fotoID = fotoID;
}
public String getRegisterStatus() {
return registerStatus;
}
public void setRegisterStatus(String registerStatus) {
this.registerStatus = registerStatus;
}
public String getKeterangan() {
return keterangan;
}
public void setKeterangan(String keterangan) {
this.keterangan = keterangan;
}
public String getFotoTandaTangan() {
return fotoTandaTangan;
}
public void setFotoTandaTangan(String fotoTandaTangan) {
this.fotoTandaTangan = fotoTandaTangan;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
答案 0 :(得分:1)
请尝试此操作,您必须检查您的回复是否为空。
Call<ResponseCustomerData> callCustomer = afs.customerDataView("bearer " + responseLoginHome.getData().getAuth_token());
callCustomer.enqueue(new Callback<ResponseCustomerData>() {
@Override
public void onResponse(Call<ResponseCustomerData> call, Response<ResponseCustomerData> response) {
ResponseCustomerData responseCustomerData = response.body();
getCustomerList.clear();
if(responseCustomerData!=null){ // check data retrive or not
if(responseCustomerData.getData()!=null){
getCustomerList.addAll(responseCustomerData.getData());
recyclerViewCustomer.setAdapter(adapterCustomer);
adapterCustomer.notifyDataSetChanged();
getCustomer.getTanggalLahir().substring(0,10);
Toast.makeText(UserMenu.this, getCustomer.getTanggalLahir(), Toast.LENGTH_SHORT).show();
} else {
Log.d("Error", responseCustomerData.getError());
}
}
}
@Override
public void onFailure(Call<ResponseCustomerData> call, Throwable t) {
Log.d("Error", t.getMessage());
}
});