我的代码如下
// Hashmap for ListView
final ArrayList<HashMap<String, String>> appealsList = new ArrayList<HashMap<String, String>>();
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView urlTv = (TextView) view.findViewById(R.id.url);
String url = urlTv.getText().toString();
url = appealsList.get("url");
for(HashMap map: appealsList){
url = map.get(key);
}
//Intent intent = new Intent(Intent.ACTION_VIEW);
Intent intent = new Intent(getApplicationContext(), LaunchReadMoreActivity.class);
intent.putExtra("url", url);
//intent.setData(Uri.parse(url));
startActivity(intent);
}
});
appealsList包含从JSONarray获取的日期,标题,网址 我的网址总是空的?
如何从appealsList中提取url字符串。
我不想迭代列表,但如果用户点击列表中的任何位置,即列表中的任何记录,我应该能够在列表中选择该对象的URL。
这就是我开始工作的方式:
//TextView urlTv = (TextView) view.findViewById(R.id.url);
//String url = urlTv.getText().toString();
String url = appealsList.get(position).get("url");
//Intent intent = new Intent(Intent.ACTION_VIEW);
Intent intent = new Intent(getApplicationContext(), LaunchReadMoreActivity.class);
intent.putExtra("url", url);
//intent.setData(Uri.parse(url));
startActivity(intent);
答案 0 :(得分:1)
不确定此代码是否有效。如果appealsList.get("url")
是appealsList
,您如何致电ArrayList
?尝试appealsList.get(position).get("url")
答案 1 :(得分:1)
appealsList.get(position).get("url");
位置会给出ArrayList
中项目的索引,然后您可以使用键值“url”从地图中获取值。
例如:
在ListView项目单击侦听器中尝试以下代码:
String myurl = appealsList.get(position).get("url").toString();