indriyanto Nugroho
indriyanto Nugroho

Reputation: 67

display json string data to spinners

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.

This response value

and value json show in this

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

Answers (2)

niceumang
niceumang

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

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

Related Questions