Как установить элемент выбора на основе значения JSON? - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть две JSON данные, одна из которых JSON для пользователя, а другая для счетчика:

это JSON для пользователя

{
    "taxonomy":{
        "User":[
            {
                "ID":112,
                "name":"Tanaka",
                "city":12

            },
            {
                "ID":113,
                "name":"Sugimoto",
                "city":12
            }
        ]
    } 
}

и это JSON для Spinner

{
    "taxonomy":{
        "City":[
            {
                "city_id":12,
                "name":"Jakarta"

            },
            {
                "city_id":13,
                "name":"Jakarta"
            }
        ]
    } 
}

Я уже разбираю JSON в spinner

for (int i=0; i<data_city.length();i++){
    JSONObject listcity = data_city.getJSONObject(i);
    Spin_city modelcity = new Spin_kecamatandesa(
        listkec.getInt("city_id"),
        listkec.getString("name")
    );

    Str_array_kec.add(modelcity);
}

SpinnAdapter adapterspin = new SpinnAdapter(getApplicationContext(), 
    android.R.layout.simple_spinner_dropdown_item, Str_array_kec);
spn_edt_kec.setAdapter(adapterspin);

это мой адаптер

public class SpinnAdapter extends ArrayAdapter<Spin_city> {
    private ArrayList<Spin_city> myarrayList;

    public adapterDesa(@NonNull Context context, int textViewResourceId, ArrayList<Spin_city> modelarrayList) {
        super(context, textViewResourceId, modelarrayList);
        this.myarrayList = modelarrayList;
    }

    @Override
    public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        return getCustomView(position, parent);
    }

    @Nullable
    @Override
    public Spin_city getItem(int position) {
        return myarrayList.get(position);
    }

    @Override
    public int getCount() {
        int count = myarrayList.size();

        return count;
    }


    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        return getCustomView(position, parent);
    }

    private View getCustomView(int position, ViewGroup parent) {
        Spin_city model = getItem(position);

        View spinnerRow = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_spinner_dropdown_item, parent, false);
        TextView label = spinnerRow.findViewById(android.R.id.text1);
        label.setText(String.format("%s", model != null ? model.getName_city(): ""));
        return spinnerRow;
    }

и мой вопрос как установить элемент выбора на счетчике на основе пользователя JSON (например, "city" равно "city_id"), может кто-нибудь помочь с этим

1 Ответ

0 голосов
/ 04 февраля 2020

Чтобы проверить равенство ключей пользователя и счетчика JSON, вы должны передать ArrayList на адаптер, чтобы вы могли проверить равные значения

...