我有两个字符串数组,这里s1 []包含一个名称列表,而s2 []包含与相应名称相关联的URL,现在我需要填充ListView,使用名称和点击任何名称,我想要启动浏览器处理URL的意图。
我该怎么做?
答案 0 :(得分:0)
使用数组适配器从s1填充listview,并在listview的单击处理程序中找到给定列表位置的URL,并触发对浏览器的意图。
有关使用数组适配器的示例,请参阅API demos,特别是list1。
有关将活动设置为onItemClickListener的示例,请参阅https://github.com/nikclayton/android-squeezer/blob/cache-server-data/src/com/danga/squeezer/AlbumsListActivity.java#L88和https://github.com/nikclayton/android-squeezer/blob/cache-server-data/src/com/danga/squeezer/AlbumsListActivity.java#L288。
答案 1 :(得分:0)
创建一个类:
class Link{
public String name;
public String link;
}
然后,您可以创建一个自定义列表视图,该视图扩展了“ArrayAdapter”并覆盖“getView”以及“onItemSelected”。在这两种方法中,您都可以使用'position'参数获取项目。
答案 2 :(得分:0)
public class MyActivity extends ListActivity{
private ArrayList<String> urls = new ArrayList<String>();
private ArrayList<String> names = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
urls.add("http://www.google.com");
names.add("google");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, names);
setListAdapter(adapter);
}
protected void onListItemClick (ListView l, View v, int position, long id){
String url = urls.get(position);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
}