我在 android中使用listview.以前我曾经从数据库中提取数据所以我使用了CursorAdapter,但现在我从网站获取响应,在网站上我有不同的链接,每个链接都有与之关联的名称.我在两个字符串数组中
这就是我在做的事情
listView = (ListView) findViewById(R.id.list); String[] names= new String[] { "name1", "name2" }; String[] links= new String[] { "link1", "link2" }; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, send names and links); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String itemValue = (String) listView.getItemAtPosition(position); Intent myIntent = new Intent(arg0.getContext(), NewPage.class); myIntent.putExtra("Url",how to get this); startActivity(myIntent); } }); }将两条信息包装在自定义对象中:
class Data { String name; String link; @Override public String toString() { return name; } }
构建数据项列表:
String[] names= new String[] { "name1", "name2" }; String[] links= new String[] { "link1", "link2" }; List<Data> output = new ArrayList<Data>(); for (int i = 0; i < names.length; i++) { Data d = new Data(); d.name = names[i]; d.link = links[i] output.add(d); } ArrayAdapter<Data> adapter = new ArrayAdapter<Data>(this, android.R.layout.simple_list_item_1, android.R.id.text1, output);
然后,您可以使用OnItemClickListener中的数据:
Data item = (Data) listView.getItemAtPosition(position); Intent myIntent = new Intent(arg0.getContext(), NewPage.class); myIntent.putExtra("Url", d.link); startActivity(myIntent);