为了账号安全,请及时绑定邮箱和手机立即绑定

Android 编码 填充 Json 值到微调器 获取所选的所有值到 TextView 或 Edit

Android 编码 填充 Json 值到微调器 获取所选的所有值到 TextView 或 Edit

阿波罗的战车 2022-09-01 16:27:10
我正在尝试开发一个Android应用程序,在注册期间,数据是从存储在资产文件夹中的Json中提取的,并将其填充在微调器中。在代码中,我有一个微调器和多个EditView和TextView。在注册中,用户从微调器中选择国家/地区,它应该自动将一些值设置为TextView或EditView,如国家/地区代码,国家/地区电话代码,id等,但我发现很难这样做,已经搜索过,但大多数人只有两个值,如id和name,而我的更多。代码正在修改,几周前我从这个网站的某个地方得到了它。我把它添加到代码中     ArrayList<String> countryName = new ArrayList<String>();     ArrayList<String> phoneCode = new ArrayList<String>();     ArrayList<String> countryCode = new ArrayList<String>();和这个   country = jObj.getString("name");   dial_code = jObj.getString("dial_code");   country_code = jObj.getString("code");   countryName.add(country);   phoneCode.add(dial_code);   countryCode.add(country_code);    TextCountry = (TextView) findViewById(R.id.country);    TextDialCode = (TextView) findViewById(R.id.dial_code);    TextCode = (TextView) findViewById(R.id.code);    json_string= loadJSONFromAsset();    ArrayList<String> countryName = new ArrayList<String>();    ArrayList<String> phoneCode = new ArrayList<String>();    ArrayList<String> countryCode = new ArrayList<String>();    {        try {            jsonObj =new JSONObject(json_string);            jsonArray =jsonObj.getJSONArray("countries");            String country, dial_code, country_code;            for (int i = 0; i < jsonArray.length(); i++){                JSONObject jObj = jsonArray.getJSONObject(i);                country = jObj.getString("name");                dial_code = jObj.getString("dial_code");                country_code = jObj.getString("code");                countryName.add(country);                phoneCode.add(dial_code);                countryCode.add(country_code);            }        } catch (JSONException e) {            e.printStackTrace();        }    }请我很高兴知道如何将名称设置为TextCountry,将代码设置为TextCode,并将dial_code设置为TextDialCode。
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

我能够通过反复试验来解决它。我必须创建一个模型,以便值将存储在那里,然后稍后获取。这是新代码。


            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;

}



}


查看完整回答
反对 回复 2022-09-01
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信