我正在使用以下格式的远程 JSON 数据填充 ListView:
{"nodes":[{"node":{"title":"Article#1","id":"4"}},{"node":{"title":"Article#2","id":"3"}}]}
我的 ListView 是用以下代码构造的:
ArrayList<String> articles = new ArrayList<String>();
try{
for(int i=0; i < data.length(); i++){
JSONObject dataObj = (JSONObject)data.get(i);
JSONObject record = dataObj.getJSONObject("node");
title = (record.getString("title"));
nid = (record.getString("nid"));
Log.i("FOUND", "title: " + title);
Log.i("FOUND", "nid: " + nid);
articles.add(title);
}
}catch(JSONException j){
Log.e("CHECK", "Attempting to read data returned from JSONReader: " + j.toString());
}
ListView articlesList = (ListView)findViewById(R.id.articlesList);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ArticlesActivity.this, R.layout.article_item, R.id.articleItem, articles);
articlesList.setAdapter(adapter);
整个过程有效并成功列出了我的文章标题。但是,我正在尝试按照教程来帮助我在每个列表项上启用 onSelectListeners。与每篇文章标题关联的 ID 元素就是我远程获取文章内容所需的全部内容。
是否可以将我的 ArrayList 设置为包含标题和 id 数据并使用它来设置启用动态 OnSelectListener 的 ListView?