【发布时间】:2009-11-24 09:20:09
【问题描述】:
单击ListView 时如何连接到URL?
【问题讨论】:
单击ListView 时如何连接到URL?
【问题讨论】:
我猜这里有两个问题:
1.如何响应ListView 中的点击?
如果您使用ListActivity 覆盖onListItemClick()。使用position 参数查看点击了什么。
对于普通的ListView,您需要调用setOnItemClickListener() 并传入您自己的监听器。
2.如何查看网址?
启动 URL 的最简单方法是使用内置浏览器。 You do this via an Intent:
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("http://www.stackoverflow.com"));
startActivity(i);
【讨论】:
您需要将其中的一些包装在 try/catch 块中,因为至少 new URL() 在格式错误的 URI 上会引发异常。
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapter, View view, int which, long id) {
String sUrl = "myUrl";
URL url = new URL(sUrl);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream(), Charset.forName("ISO-8859-1")));
String res = "";
String line;
while ((line = rd.readLine()) != null) {
res += line;
}
rd.close();
}
});
编辑 如果您只想在应用程序中查看网站,那么 Dave Webb 的建议就是您的最佳选择。
【讨论】:
您需要设置一个函数 setOnItemClickListener() 并在其中声明如下内容:
Uri uri = Uri.parse( "http://www.google.com" );
startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
【讨论】: