的Android的ListView适配器(JSON儿童)
问题描述:
对不起....我在Android的新....的Android的ListView适配器(JSON儿童)
我曾做过这样的模式: 我在活动中创建列表视图,并把它适配器与所有教程中的自己的活动...
但现在我必须进一步创建更复杂的活动:在我的每一个listview适配器视图我必须把另一个循环与数据=>其他listview与适配器...是它是真的吗?
这里是我的代码(我做教育的目标):
protected void onCreate(Bundle savedInstanceState) {
String bank;
bank = this.getIntent().getStringExtra("Bank_id");
url = "http://192.168.1.4:3000/exchanger_lists/get_bank_exchanger_list/"+bank+".json";
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bank_exchangers_list);
// Hashmap for ListView
ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
banks = json.getJSONArray(TAG_Exchangers);
// looping through All Contacts
for(int i = 0; i < banks.length(); i++){
JSONObject c = banks.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_ID);
String name = c.getString(TAG_NAME);
String address = c.getString(TAG_address);
String location_name = c.getString(TAG_location_name);
String latitude = c.getString(TAG_latitude);
String longitude = c.getString(TAG_longitude);
String exchanger_type_name = c.getString(TAG_exchanger_type_name);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_ID, id);
map.put(TAG_NAME, name);
map.put(TAG_address, address);
map.put(TAG_location_name, location_name);
map.put(TAG_latitude, latitude);
map.put(TAG_longitude, longitude);
map.put(TAG_exchanger_type_name, exchanger_type_name);
// adding HashList to ArrayList
contactList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
ListAdapter adapter = new SimpleAdapter(this, contactList,
R.layout.bank_exchanger_list_element,
new String[] { TAG_NAME, TAG_location_name, TAG_address, TAG_exchanger_type_name, TAG_latitude, TAG_longitude }, new int[] {
R.id.bank_e_n, R.id.nas_punkt_e_n , R.id.adress_obm_e_n , R.id.tip_obm_e_n , R.id.shirota_e_n , R.id.dolgota_e_n });
setListAdapter(adapter);
}
我需要解析json的孩子每个TAG_Exchangers并添加作为适配器listAdapter适配器=新SimpleAdapter适配器(这一点,contactList ,.......
是真的吗?怎么办呢?
答
为什么不使用BaseAdapter,在那里你排除一切与它的外观以及如何使用这些数据?只实现getCount将,getItem和getView。
有关listView的更多信息,请观看“the world of listView”讲座。
hm ....复杂...为什么Base?如何把它放在一个更多的集合?你可以给代码吗? – 2013-04-27 14:12:42
刚刚阅读了baseAdapter samples.i'm不知道你想要它是多么复杂,所以我认为你需要baseAdapter。也许你没有。关于使用新的项目列表,请创建适配器的新实例并调用listView.setAdapter,或者在适配器类中设置列表并调用adapter.notifyDataSetChanged()。 – 2013-04-27 14:32:06