2012-06-18 70 views
0

對不起,如果這太微不足道或如果它以前已經發布。現在,我正在處理這個問題。我有一個ListView組件,我在創建一組項目,每個項目都是充氣佈局。當我單擊一個項目時,行爲onClick是全功能的,並且偵聽器正在完成他們的工作,但ListView不顯示按鈕中的「按下狀態」。下面的圖片顯示了我在尋找:膨脹的列表視圖項不顯示爲按下

enter image description here

有沒有人有一個提示給我?我已經檢查和tryed幾件事情:1。 機器人:state_focused = 「真」 2.機器人:state_pressed = 「真」 3. setClickable(真)

提前感謝!

回答

1

您必須手動將樣式應用於列表項的狀態。因爲,您正在創建自己的列表項視圖,而不是android列表項視圖。所以,你必須提供特定的樣式來顯示不同的狀態。 使用選擇器將樣式設置爲列表項目。我在這裏提供了一些示例代碼,

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_focused="false" 
     android:drawable="@drawable/list_item_gradient" /> 

    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. --> 
    <item android:state_focused="true" android:state_enabled="false" 
     android:state_pressed="true" 
     android:drawable="@drawable/list_selector_background_disabled" /> 
    <item android:state_focused="true" android:state_enabled="false" 
     android:drawable="@drawable/list_selector_background_disabled" /> 

    <item android:state_focused="true" android:state_pressed="true" 
     android:drawable="@drawable/list_selector_background_transition" /> 
    <item android:state_focused="false" android:state_pressed="true" 
     android:drawable="@drawable/list_selector_background_transition" /> 

    <item android:state_focused="true" 
     android:drawable="@drawable/list_selector_background_focus" /> 

</selector> 

而且在ListView

<ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:listSelector="@drawable/list_selector_background" />

+0

嗯,很不錯的信息。我現在就試試這個。謝謝! – mthama