2010-11-07 59 views
0

我已經創建了自定義適配器來顯示列表,每行都有一個圖像顯示(圖像對於所有行都是相同的,除了使用數組,我將其分配給不同的值取決於位置)。一個xml文件定義了我正在使用的相對佈局。我的問題是,我可以讓整行是可點擊的或什麼也沒有,我只希望這個圖像是可點擊的,而不是整行。我將如何能夠做到這一點?我是新來的android和幾乎跟隨不同的教程試圖創建我的列表。任何幫助,將不勝感激。自定義列表中的圖像Android

佈局是這樣的:

TEXT:

     [Image] 

TEXT:

多數民衆贊成笏一排的樣子......讓來自兩個不同陣列的兩個文本,並將其顯示,第三數組用於鏈接到圖像。我只想讓這個圖像可以點擊而不是整行。

感謝

回答

0

Android的列表組件管理每行的點擊。這使得很難實現你想要做的事情。記住兩個解決方案:

1)如果您的列表永遠不會很長,您可以簡單地使用線性佈局和滾動視圖來構建列表。如果您動態填充列表,則此方法不起作用,並且您無法確定不會有大量的行,因爲在這種情況下會佔用太多的內存。

2)其他選項是使用ListView,但使列表中的文本組件和圖像不同的視圖類型,即。把你排成三個。 這可以實現覆蓋列表適配器的getItemViewType(int) http://developer.android.com/reference/android/widget/Adapter.html#getItemViewType(int) 在這種方法中,您可以使圖像行可點擊,但文本行不可以。

+0

謝謝,我會嘗試。 我沒有一個巨大的列表,其最多隻顯示8個元素。 它基本上是一個每日視圖,它顯示了一行中的時間和班級,第二行顯示房間號碼和建築物編號,圖像是一個導航按鈕,當按下該按鈕時,會將您帶到谷歌地圖上,在該位置放置一個別針。但它在視圖之間切換,當您向左或向右滑動(下一個或前一天)清除屏幕並顯示當天的新日常視圖時,它會將數據從數據庫加載到數組中。我嘗試使用myClickhandler,它適用於按鈕..... – ozzi 2010-11-07 20:59:58

+0

...我只是不知道如何通過它的圖像被點擊的行的位置的值。任何線索,如何做到這一點。 我該功能看起來像 公共無效myClickHandler(視圖V) {//顯示舉杯檢查點擊 //但不知道如何通過該行的這個位置或如何找到該行的位置。 } – ozzi 2010-11-07 21:03:46

+0

我不完全確定,如果我明白你想要做什麼,但它聽起來像你可以通過添加一個匿名內部類作爲你創建它們時每個按鈕的監聽器來解決你的點擊監聽器問題。這樣,每個聽衆都知道它在哪一行,並正確處理點擊。這個概念的例子可以在這裏找到例子:http://www.javamex.com/tutorials/swing/anonymous_inner_classes.shtml – Juhani 2010-11-07 21:21:19