android json spinner,一组json数据,怎么将这组据填充到Spinner组件中

一组json数据,如何将这组据填充到Spinner组件中

[{"id":"32","hyname":"建筑装修"},{"id":"15","hyname":"机械制造"},{"id":"16","hyname":"电子通信"},{"id":"21","hyname":"计量监测"},{"id":"28","hyname":"化验检测"},{"id":"19","hyname":"地质勘探"},{"id":"23","hyname":"农林牧渔"},{"id":"30","hyname":"机械冷加工"},{"id":"31","hyname":"机械热加工"},{"id":"22","hyname":"物资储运"},{"id":"24","hyname":"餐饮服务"}]

一组json数据,如何将这组据填充到Spinner组件中,并显示hyname字符,取值时取id的值呢?请指教

------解决方案--------------------

先解析数据,放到list或者vector中,然后再显示

------解决方案--------------------

先将数据解析好,保存为一个arraylist,然后自定义一个baseadapter或者直接ArrayAdapter adapter = new ArrayAdapter(this,R.layout.spinnerbg(一个textview就行), hyname的数组);然后spinner.setAdapter(adapter);

点击时取id的值,只要在spinner.setOnItemSelectedListener里面实现就可以了

------解决方案--------------------

1,创建实体类 Test

public void Test {

private String id ;

private String name;

生成get和set方法

}

//jsonString 就是你拼的或者服务器返回的字符串

2.public static ArrayList getNewsList(String jsonString) throws JSONException {

JSONArray arr = new JSONArray(jsonString);

ArrayList testsLists = new ArrayList();

for (int i = 0; i 

JSONObject temp = (JSONObject) arr.get(i);

Test tests = new Tests();

tests.setmNewsTitle(temp.getString("id"));

tests.setmNewsContent(temp.getString("hyname"));

testsLists.add(news);

}

return testsLists;

}

------解决方案--------------------

试一下这段代码:

String jsontext=[{"id":"32","hyname":"Construction & Remodel"},...];

ArrayList list=new ArrayList();

Hashtable hnameids=new Hashtable();

JsonArray array=new JsonArray(jsontext);

for(int i=0;i

{

JsonObject obj=array.getJsonObject(i);

list.add(obj.getString("hyname"));

hnameids.put(obj.getString("hyname"),obj.getString("id"));

}

ArrayAdapter adapter=new ArrayAdapter(context,android.R.layout.simple_list_item1,list);

spinner.setAdapter(adapter);

spinner.OnItemSelectedListener (new OnItemClickListener() {

public void onItemClick(AdapterView> adapter, View view, int pos,

long id) {

String data= spinner.getSelectedItem();

String id=hnameids.get(data);

}

});

------解决方案--------------------

另一种方法:

使用 Collection 来设置 ID 和 HeName

class YourCollection{

private String id;

private String hename;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值