在ListView中单击项目时加载网页

时间:2011-11-01 10:38:26

标签: android listview

我有一个ListView,可以在其上简单地显示项目。 我想加载一个网页,例如; google.com,当我点击列表视图的项目时。 我怎样才能做到这一点? plz用代码示例解释。 我是新手。

这是我的列表视图代码:

 package com.androidListActivity;
 import android.app.ListActivity;
 import android.os.Bundle;
 import android.view.View;
 import android.webkit.WebView;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;

public class MyList extends ListActivity 
{   
@Override
public void onCreate(Bundle savedInstanceState) 
{

    super.onCreate(savedInstanceState);

    //        setContentView(R.layout.main);

String[] names = new String[]
        {
            "One",
            "Two"
        };
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.rowlayout, names));

}

protected void onListItemClick(ListView l, View v, int position, long id)
{
    super.onListItemClick(l,v,position,id);
}
}

Plz编辑这个例子。 提前致谢

3 个答案:

答案 0 :(得分:3)

protected void onListItemClick(ListView l, View v, int position, long id)
{
    super.onListItemClick(l,v,position,id);
    Intent in = new Intent(this,WebViewPage.class);
    startActivity(in);
}

WebViewPage.java

public class WebViewPage extends Activity{

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webviewpage);
            WebView wbView = (WebView) findViewById(R.id.WebView);
            wbView.getSettings().setJavaScriptEnabled(true); 
            wbView.loadUrl("http://www.google.com");
   }
}

webviewpage.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<WebView
android:id="@+id/WebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout> 

最后在Manifest文件中添加权限

 <activity android:name=".WebViewPage" />


 <uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:1)

您可以尝试以下内容:

protected void onListItemClick(ListView l, View v, int position, long id)
{
    super.onListItemClick(l,v,position,id);
    Uri uriUrl = Uri.parse("http://androidbook.blogspot.com/");  
    Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);  
    startActivity(launchBrowser);  
}

向清单添加Internet权限,它应该有效:)

祝你好运, Arkde

答案 2 :(得分:0)

使用此代码

list_Id.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View v,
                                        int position, long id) {
                    list_Id.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View v,
                                                int position, long id) {
                            WebView webView = new WebView(v.getContext());
                            String[] urls = getResources().getStringArray(R.array.bookmark_urls);
                            webView.loadUrl(urls[position]);
                        }
                    });
                }
            });

然后在string-array.xml内创建一个文件名values,放入您需要的所有网址:

<resources>
    <string-array name="bookmark_urls">
        <item>http://www.google.com</item>
        <item>http://www.facebook.com/</item>
        <item>http://www.android.com/</item>
    </string-array>
</resources>