我已經在谷歌的Android開發者論壇上發佈了相同的問題。 我在這裏重複:ListViews裏面TableLayout
我有一個TableLayout與一個TableRow。 第一列/單元格是一個ListView。第二個單元格/列是由2個ListViews組成的 TableLayout。
當我膨脹的XML佈局,一切看起來不錯,我已經爲每個3個ListView設置了 適配器。
我已經通過適配器將虛擬元素添加到這些列表中,並且能夠在列表中上下滾動。
但onItemClick沒有被觸發。
以下是我的佈局文件 -
<RelativeLayout android:id="@+id/top_header"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:text="Edit"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
<TextView
android:text="dummy1"
android:textStyle="bold"
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/button1"
android:layout_centerVertical="true"
android:paddingLeft="25dip"
android:textSize="18dip">
</TextView>
<Button
android:id="@+id/button2"
android:layout_alignParentTop="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Cancel"
android:layout_alignParentRight="true">
</Button>
<TextView
android:layout_alignParentTop="true"
android:text="dummy2"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/textView4"
android:layout_toLeftOf="@+id/button2"
android:layout_centerVertical="true"
android:paddingRight="25dip"
android:textSize="18dip">
</TextView>
</RelativeLayout>
<TableLayout android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:shrinkColumns="1">
<TableRow android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:divider="@android:color/black"
android:dividerPadding="2dip">
<ListView
android:id="@+id/listView1"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
>
</ListView>
<TableLayout android:id="@+id/tableLayout2"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:shrinkColumns="1">
<TextView
android:text="dummy3"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:padding="8dip"
android:textSize="18dip"
android:background="#ff238E23">
</TextView>
<ListView
android:id="@+id/listView2"
android:layout_height="0dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:divider="@android:color/white"
android:dividerHeight="2dip"
android:layout_width="match_parent"
android:clickable="true"
android:focusable="true"
>
</ListView>
<TextView
android:text="dummy4"
android:textSize="18dip"
android:textStyle="bold"
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ff0000ff"
android:padding="8dip">
</TextView>
<ListView
android:id="@+id/listView3"
android:layout_height="0dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:divider="@android:color/white"
android:dividerHeight="2dip"
android:layout_width="match_parent"
android:clickable="true"
android:focusable="true"
>
</ListView>
</TableLayout>
</TableRow>
</TableLayout>
並在Java文件,我做
ListView lv = (ListView) findViewById(R.id.listView1);
lv.setAdapter(new EfficientAdapterLeft(this));
lv.setOnItemClickListener(new OnItemClickListener()
{ @覆蓋 公共無效onItemClick( AdapterView arg0,查看視圖,int arg2, long arg3)Log.v(「blah」,「arg2」+ arg2); Log.v(「blah」,「arg3」+ arg3); } });
我爲剩餘的兩個列表R.id.listView2和 R.id.listView4做類似的事情。他們實例化不同的適配器,但沒有任何 截然不同。
我沒有看到打印日誌。爲什麼我無法點擊 項目並讓onClickItem偵聽器被觸發?即使這樣做 lv.setFocusable(true); lv.setClickable(true); 沒有幫助。
任何想法發生了什麼?
謝謝。
我應該問在下面回答之前,你是否填充了你的listviews內容?我想我問的是,當你嘗試點擊它們時,你能看到列表視圖中的任何內容嗎? – 2011-04-06 00:30:17