我有这个列表视图,我希望列表中的每一行都有webview,每个项目都有单独的webview

时间:2011-01-11 20:32:04

标签: android android-listview android-webview

my apidemo.java

public class ApiDemos extends Activity {
private ListView lv1;
static final String[] COUNTRIES = new String[] {
    "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
    "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
    "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan" };
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    lv1=(ListView)findViewById(R.id.ListView01);
    lv1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1 , COUNTRIES));
}

}

在我的main.xml中,我有一个ID为ListView01的ListView

希望我真正想要的是阿富汗和其他国家的网页浏览。 选择它们。

* PLZ很快就会......紧急...... ** * *** 我想在我的学校提交项目_ _

2 个答案:

答案 0 :(得分:0)

你只需要为listView设置一个OnItemClickListener:

http://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html

在顶部声明一个新的Webview,然后在此OnItemClickListener中设置一个switch语句,根据ListView中的哪个项目单击,将URL分配给WebView。然后在开关语句的一侧,但在OnItemClickListener内部,调用WebView。

希望这有帮助。

答案 1 :(得分:0)

输出看起来像WebView显示为listview行项目。 请遵循此指南。

步骤1. main_relLay.xml 用于添加滚动视图和线性布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ScrollView
    android:id="@+id/scrollview"
    android:layout_width="fill_parent"
    android:layout_height="450dp" >

    <LinearLayout
        android:id="@+id/main_relLay"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#0B7A3B"
        android:orientation="vertical" >
    </LinearLayout>
</ScrollView>

</RelativeLayout>

描述:ScrollView用于列表视图效果。线性布局具有行的动态内容(WebView)。

第2步:row.xml 对于ListView行项

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

<RelativeLayout
    android:id="@+id/row_relLay"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#F70925" >

    <ProgressBar
        android:id="@+id/progressbar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:visibility="visible" />

    <WebView
        android:id="@+id/row_webView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:visibility="gone" >
    </WebView>
</RelativeLayout>

</LinearLayout>

描述:为listview行项创建另一个xml。

Java文件: 使用LayoutInflater加载row.xml的视图以获取listview行。 并在main.xml线性布局中将此row.xml添加到滚动视图中,这是主线性布局提供列表视图效果。

步骤A:LinearLayout relLay =(LinearLayout)findViewById(R.id.main_relLay);

步骤B:LayoutInflater inflater =(LayoutInflater)getApplication()                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

步骤C:查看v_child = inflater.inflate(R.layout.row,null);

步骤D:relLay.addView(v_child);