Android-кодирование Заполните Json Value в Spinner, получите все значения, выбранные в TextView или Edit.

«Slicing» - это то, где вы назначаете объект производного класса экземпляру базового класса, тем самым теряя часть информации - часть его «нарезана».

Например,

class A {
   int foo;
};

class B : public A {
   int bar;
};

Итак, объект типа B имеет два элемента данных: foo и bar.

Тогда, если вы должны были написать это:

B b;

A a = b;

Затем информация в b о члене bar теряется в a.

0
задан Cashlex 24 March 2019 в 17:33
поделиться

1 ответ

Мне удалось решить это методом проб и ошибок. Я должен был создать модель, чтобы значения были сохранены там, а затем получены позже. это новый код.

            ArrayList<String> countryName = new ArrayList<String>();

    json_string = loadJSONFromAsset();

    {
        // Locate the WorldPopulation Class
        world = new ArrayList<SignUp>();

        // Create an array to populate the spinner
        worldlist = new ArrayList<String>();



        try {
            // JSON file Assert Folder
            jsonobject = new JSONObject(json_string);
            // Locate the NodeList name
            jsonarray = jsonobject.getJSONArray("countries");
            for (int i = 0; i < jsonarray.length(); i++) {
                jsonobject = jsonarray.getJSONObject(i);

                SignUp worldpop = new SignUp();
                worldpop.setCountry(jsonobject.optString("name"));
                worldpop.setCountry_phone_Code(jsonobject.optString("dial_code"));
                worldpop.setCountry_Code(jsonobject.optString("code"));
                world.add(worldpop);
                // Populate spinner with country names
                worldlist.add(jsonobject.optString("name"));

            }
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
    }

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_dropdown_item, worldlist);

    spinner = (Spinner)findViewById(R.id.spinner);
    spinner.setOnItemSelectedListener(this);
    spinner.setAdapter(adapter);

 }

  public void onItemSelected(AdapterView<?> parent, View view, int position,
                           long id) {


    String CountryPhone = world.get(position).getCountry_phone_Code();
    TextDialCode.setText(CountryPhone);

    country = world.get(position).getCountry();

}

это моя модель

public class SignUp {

public String country;
public String country_code;
public String country_phone_code;

public String getCountry() {
    return country;
}

public void setCountry(String country) {
    this.country = country;
}


public String getCountry_Code() {
    return country_code;
}

public String getCountry_phone_Code() {
    return country_phone_code;
}


public void setCountry_Code(String country_code) {
    this.country_code = country_code;
}

public void setCountry_phone_Code(String country_phone_code) {
    this.country_phone_code = country_phone_code;
}


}
0
ответ дан Cashlex 24 March 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: