我确实看过微调器,但是在我正在处理微调器上的数据的程序中是从 API 加载的……作为新手,我有点不知道将 JSONObjects 加载到微调器上。请帮忙。
API 回复有点像这样:
{"status":"","data":{"1":"scorpio"},"message":""}
我必须在微调器中显示值“Scorpio”,并在传递表单时在后端分配值“1”。请帮忙。
我确实看过微调器,但是在我正在处理微调器上的数据的程序中是从 API 加载的……作为新手,我有点不知道将 JSONObjects 加载到微调器上。请帮忙。
API 回复有点像这样:
{"status":"","data":{"1":"scorpio"},"message":""}
我必须在微调器中显示值“Scorpio”,并在传递表单时在后端分配值“1”。请帮忙。
将您的 JSON 数组放入数组并简单地分配给循环中的微调器:
//json array
{"Employee":[{"Id":73,"Name":"Bård Pedersen","Email":"bp@spillbasen.com","Mobile":"9004422"}]}
ArrayList<String> TAG_ID = new ArrayList<String>();
ArrayList<String> TAG_NAME = new ArrayList<String>();
ArrayList<String> TAG_EMAIL = new ArrayList<String>();
ArrayList<String> TAG_PHONE_MOBILE = new ArrayList<String>();
// Getting Array of Employee
employee = json.getJSONArray("Employee");
// looping through All Employee
for (int i = 0; i < employee.length(); i++) {
JSONObject c = employee.getJSONObject(i);
// Storing each json item in variable
id = c.getString("Id");
name = c.getString("Name");
email = c.getString("Email");
mobile = c.getString("Mobile");
// adding all get values into array
if (name != "null" && mobile != "null") {
TAG_NAME.add(name);
TAG_ID.add(id);
TAG_EMAIL.add(email);
TAG_PHONE_MOBILE.add(mobile);
close.add(R.drawable.close);
}
如果您的数据采用以下方式
{“数据”:[{“1”:“天蝎座”},{“2”:“宝马”},{“3”:“斯柯达”}]}
然后你检索并在微调器中显示如下: -
String[] id,name;
JSONObject jObject = new JSONObject(your data);
JSONObject jdata = jObject.getJSONArray("data");
id = new String[jdata.length()];
name = new String[jdata.length()];
Iterator<?> keys = jSEngineers.keys();
for(int i=0;i<jdata.length();i++){
id[i] = (String) keys.next();
name[i] = (String) jSEngineers.getString(id[i]);
}
现在您可以将这些值放入指定的数组中。现在您可以将所需的值分配给 Spinner。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(YourActivity.this,android.R.layout.simple_spinner_item, name);
spinnerName.setAdapter(adapter);
现在您可以按如下方式获取选定的微调器项目
spinnerName.getSelectedItemPosition();
有了这个,您将获得项目的位置。借助它,您可以检索用于背景目的所需的 id。如下..
Log.i("Item id is",id[spinnerName.getSelectedItemPosition()].toString());