我有Android佈局(如下所示)。 我設置了一個像這樣的偵聽器:list.setOnItemClickListener。 一切似乎都很好。Android列表視圖setOnItemClickListener僅適用於
在下面的一行:
<ScrollView android:layout_width="fill_parent"
android:layout_height="wrap_content">
如果我改變安卓:layout_height從「WRAP_CONTENT」到「FILL_PARENT」它不工作了(從我的列表中的項目不能被選中)。
它只有在設置爲wrap_content時纔有效。 有人可以解釋爲什麼?!??
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ListView android:id="@+id/restaurants"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<ScrollView android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableLayout android:id="@+id/details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
android:shrinkColumns="1"
android:paddingTop="4dip"
>
<TableRow>
<TextView android:text="@string/name" />
<EditText android:id="@+id/name" />
</TableRow>
<TableRow>
<TextView android:text="@string/address" />
<EditText android:id="@+id/addr" />
</TableRow>
<TableRow>
<TextView android:text="Type:" />
<RadioGroup android:id="@+id/types">
<RadioButton android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/take_out"
android:text="@string/takeout"
android:checked="true"
/>
<RadioButton android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/sit_down"
android:text="@string/sitdown"
/>
<RadioButton android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/delivery"
android:text="@string/delivery"
/>
</RadioGroup>
</TableRow>
<TableRow>
<TextView android:text="@string/notes" />
<EditText android:id="@+id/notes" />
</TableRow>
<Button android:id="@+id/save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/save"
/>
</TableLayout>
</ScrollView>
</FrameLayout>
</LinearLayout>
它不會工作,因爲使用'fill_parent'將嘗試填充'FrameLayout'內的所有區域,但也存在'ListView android:id =「@ + id/restaurants」'。也許一個解決方案將除了'ScrollView'在另一個'RelativeView',並將其放置在ListView android:id =「@ + id/restaurants」' – hrskrs 2015-02-11 11:50:55
做一個測試:將listView背景顏色更改爲黑色,將ScrollView背景顏色更改爲紅。看看你的工作看法。它可以填充listView上方的所有空間。 – 2015-02-11 12:21:35