我有一个用JSON
对象填充的微调器,但是我想在第一个位置手动向微调器添加一个项目,向spinner
说“选择一个”类型的标题, 我怎么做?继承我的代码
ArrayList<Empresa> Companhias = new ArrayList<Empresa>();
try {
JSONObject mainJson = new JSONObject(new String(buffer));
JSONArray jsonArray = mainJson.getJSONArray("GetCompaniesResult");
Log.i("mainjson234","" + jsonArray);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject objJson = jsonArray.getJSONObject(i);
int id = objJson.getInt("CompanyID");
String name =objJson.getString("CompanyName");
Empresa empresa = new Empresa();
empresa.setId(id);
empresa.setCompanyName(name);
Companhias.add(empresa);
Log.i("empresas", "" + empresa.toString());
}
Spinner mySpinner = (Spinner)findViewById(R.id.spinner);
mySpinner.setAdapter(new ArrayAdapter<Empresa>(this, android.R.layout.simple_spinner_dropdown_item, Companhias));
spinner.setOnItemSelectedListener(new OnItemSelectedListener(){
答案 0 :(得分:1)
Empresa empresa = new Empresa();
empresa.setId(0);
empresa.setCompanyName("name");
Companhias.add(empresa);
在for循环之前添加这些行
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject objJson = jsonArray.getJSONObject(i);
int id = objJson.getInt("CompanyID");
String name =objJson.getString("CompanyName");
Empresa empresa = new Empresa();
empresa.setId(id);
empresa.setCompanyName(name);
Companhias.add(empresa);
Log.i("empresas", "" + empresa.toString());
}
答案 1 :(得分:0)
在for循环之前,在代码中添加前四行。并在for循环中进行校正。
Empresa empresa = new Empresa();
empresa.setId(0);
empresa.setCompanyName("name");
Companhias.add(empresa);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject objJson = jsonArray.getJSONObject(i);
int id = objJson.getInt("CompanyID");
String name =objJson.getString("CompanyName");
empresa.setId(id);
empresa.setCompanyName(name);
Companhias.add(empresa);
Log.i("empresas", "" + empresa.toString());
}