Here is a function that is called to display data in a spinner.
This is the response I get. Reponse: Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'retrofit2.Call co.ke.smartcare.apiutilities.ApiService.fetchDocs()' on a null object reference
Function: public void fetchDoctors(){
apiService.fetchDocs().enqueue(new Callback<List<Doctor>>() {
@Override
public void onResponse( Call<List<Doctor>> call, Response<List<Doctor>> response ) {
List<Doctor> doctors = new ArrayList<>();
List<String> docs = new ArrayList<>();
if( response.body() != null ){
doctors.addAll(response.body());
for( int i = 0; i <= doctors.size(); i++ ){
docs.add(doctors.get(i).getName());
}
ArrayAdapter<String> doctorsSpinner = new ArrayAdapter<>(getApplicationContext(), layout.simple_spinner_item, docs);
doctorsSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
doctor.setAdapter(doctorsSpinner);
}else{
Toast.makeText(BookingActivity.this, "0 doctors have been retrieved. \nKindly, contact customer care", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure( Call<List<Doctor>> call, Throwable t ) {
Toast.makeText(BookingActivity.this, "Error: "+t.toString(), Toast.LENGTH_SHORT).show();
}
});
}