【发布时间】:2016-10-02 16:43:15
【问题描述】:
我已经从PHP 解析了一些JSON 数据并将其显示为Spinner。数据带有键值。所以我使用了Hashmap 和SimpleAdapter。 Spinner 仅显示值。当用户选择一个项目时,密钥将存储在MySQL。
这是我的JSON,
{
"32":"Western Food",
"33":"Chinese Food",
"34":"Mix Food",
"35":"Japanese Food",
"36":"Korean Food",
"37":"Italian Food",
"38":"German Food",
"45":"Muslim food ",
"46":"Indian food"
}
例如
活动 A
用户添加新类别,他们选择了“混合食物”。当他们点击提交按钮时,密钥 - “34”将存储在数据库中。
活动 B
int get_selected_item_id=34;
List<HashMap<String, String>> category_arraylist = new ArrayList<HashMap<String, String>>();
Iterator<String> iterator = jsonObject1.keys();
while (iterator.hasNext()) {
String id = iterator.next();
String name=jsonObject1.getString(id);
HashMap<String, String> map = new HashMap<>();
map.put("id",id);
map.put("name",name);
category_arraylist.add(map);
}
String[] from = {"name"};
int[] to = {android.R.id.text1};
final SimpleAdapter adapter = new SimpleAdapter(item_edit.this, category_arraylist, android.R.layout.simple_spinner_dropdown_item, from, to);
category.setAdapter(adapter);
category.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
category.setSelection(get_selected_item_id); // doesn't work
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
当 spinner 在开始时显示时,如何在 Activity B 中默认显示该项目?
【问题讨论】:
-
使用微调器上的
setSelection(index)设置默认项。 -
@KNeerajLal 这是一个拼写错误。我已经改变了。对我的方案有什么想法吗?