android中的ListView来自2个动态字符串数组

时间:2011-07-02 16:52:40

标签: android string dynamic

我有两个字符串数组,这里s1 []包含一个名称列表,而s2 []包含与相应名称相关联的URL,现在我需要填充ListView,使用名称和点击任何名称,我想要启动浏览器处理URL的意图。

我该怎么做?

3 个答案:

答案 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#L88https://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);
}

}

相关问题