Reputation: 67
in this case I want to display the json string data to the spinner, but the form of the data is not just a list but just a string. How can I display the string data to the spinner.
private void getmemberDetail(){ ///// loading = ProgressDialog.show(mContext, null, "Harap Tunggu...", true, false);
mApiService.getMemberDetail().enqueue(new Callback<ResponseMembers>() {
@Override
public void onResponse(Call<ResponseMembers> call, Response<ResponseMembers> response) {
if(response.body() !=null){
ResponseMembers responseMembers = response.body();
List<ResultItem> details = responseMembers.getResult();
for(ResultItem d : details){
if(d.getId().equals(sharedPrefManager.getSpIdMember())){
reqresultItem = d;
runOnUiThread(new Runnable() {
@Override
public void run() {
txtjumlahtanggungan.setText(reqresultItem.getMetadata().getFamilyDependent());
txtnikktp.setText(reqresultItem.getMetadata().getNumberCitizen());
txtnomornpwp.setText(reqresultItem.getMetadata().getNumberTaxpayer());
txtibukandung.setText(reqresultItem.getMetadata().getParentName());
txtnomortlp.setText(reqresultItem.getMetadata().getContactOffice());
txtfacebook.setText(reqresultItem.getMetadata().getFacebook());
txttwitter.setText(reqresultItem.getMetadata().getTwitter());
txtinstagram.setText(reqresultItem.getMetadata().getInstagram());
txtnamasaudara.setText(reqresultItem.getMetadata().getNonsiblingName());
txtnomorhandphonesaudara.setText(reqresultItem.getMetadata().getNonsiblingMobile());
txtalamat_saudara.setText(reqresultItem.getMetadata().getNonsiblingAddress());
txtkodepos_saudara.setText(reqresultItem.getMetadata().getPostalCode());
/*set URL*/
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority("development.kreditimpian.com")
.appendPath("images")
.appendPath("members");
String myUrl = builder.build().toString();
Glide.with(DataDiri.this)
.load(reqresultItem.getImage())
.placeholder(R.drawable.icon_user)
.error(R.drawable.icon_user)
.into(imageself);
Glide.with(DataDiri.this)
.load(myUrl+reqresultItem.getMetadata().getCitizen())
.placeholder(R.drawable.upload)
.error(R.drawable.upload)
.into(imagektp);
Glide.with(DataDiri.this)
.load(myUrl+reqresultItem.getMetadata().getTaxpayer())
.placeholder(R.drawable.upload)
.error(R.drawable.upload)
.into(imagenpwp);
}
});
}
}
}else {
/// loading.dismiss();
Toast.makeText(mContext, "Gagal mengambil data, silahkan ulangi lagi", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<ResponseMembers> call, Throwable t) {
Toast.makeText(DataDiri.this, "Koneksi Anda bermasalah,silahkan ulangi lagi", Toast.LENGTH_LONG).show();
onBackPressed();
}
});
ResponseMembers.class
public class ResponseMembers{
@SerializedName("result")
private List<ResultItem> result;
@SerializedName("reason")
private String reason;
@SerializedName("success")
private boolean success;
@SerializedName("message")
private Object message;
@SerializedName("status")
private int status;
public void setResult(List<ResultItem> result){
this.result = result;
}
public List<ResultItem> getResult(){
return result;
}
public void setReason(String reason){
this.reason = reason;
}
public String getReason(){
return reason;
}
public void setSuccess(boolean success){
this.success = success;
}
public boolean isSuccess(){
return success;
}
public void setMessage(Object message){
this.message = message;
}
public Object getMessage(){
return message;
}
public void setStatus(int status){
this.status = status;
}
public int getStatus(){
return status;
}
Upvotes: 1
Views: 60
Reputation: 1431
Check My below code
ArrayList<String> genderList=new ArrayList<>();
genderList.add(reqresultItem.getMetadata().getGenders());
ArrayAdapter<String> genderAdapter= new ArrayAdapter<String>(MyActivityClass.this,android.R.layout.simple_spinner_item, genderList);
genderAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
genderSpinner.setAdapter(gameKindArray);
Upvotes: 1
Reputation: 2525
Use ArrayAdapter this way
your should create an array from server's data for example
String[] testData=new String[]{data.gender};
your ArrayAdapter
ArrayAdapter<String> genderAdapter= new ArrayAdapter<String>(MyActivityClass.this,android.R.layout.simple_spinner_item, test);
genderAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
genderSpinner.setAdapter(gameKindArray);
Upvotes: 1