2011-09-21 204 views
2

在我的應用我已經充入此行一個ListView:Android的默認選擇

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:gravity="center" 
    android:orientation="horizontal" android:layout_height="wrap_content" 
    android:id="@+id/rootrow_layout" android:clickable="true" 
    android:focusable="true" android:focusableInTouchMode="true"> 
    <LinearLayout android:layout_height="fill_parent" 
     android:id="@+id/containerHistory" android:layout_width="fill_parent" 
     android:layout_weight="1"> 
     <LinearLayout android:layout_weight="1" 
      android:orientation="vertical" android:layout_gravity="center" 
      android:layout_height="wrap_content" android:layout_width="wrap_content" 
      android:layout_marginLeft="2dip"> 
      <LinearLayout android:id="@+id/LinearLayout02" 
       android:layout_height="wrap_content" android:layout_width="fill_parent"> 
       <TextView android:textSize="16sp" android:gravity="left" 
        android:padding="5dp" android:layout_width="fill_parent" 
        android:text="Unknown location " android:id="@+id/historyLocation" 
        android:layout_height="wrap_content" android:textColor="#000000"></TextView> 
      </LinearLayout> 
      <LinearLayout android:id="@+id/LinearLayout03" 
       android:layout_height="wrap_content" android:layout_width="fill_parent"> 
       <TextView android:layout_weight="1" android:textSize="12sp" 
        android:gravity="left" android:padding="5dp" android:layout_width="fill_parent" 
        android:text="Complete" android:typeface="serif" android:id="@+id/historyDate" 
        android:layout_height="wrap_content" android:textColor="#000000"></TextView> 
      </LinearLayout> 
      <LinearLayout android:id="@+id/LinearLayout04" 
       android:layout_height="wrap_content" android:layout_width="wrap_content"></LinearLayout> 
     </LinearLayout> 
    </LinearLayout> 
    <LinearLayout android:orientation="vertical" 
     android:layout_marginRight="2dip" android:id="@+id/linearLayout1" 
     android:layout_height="match_parent" android:layout_width="wrap_content"> 
     <CheckBox android:id="@+id/check" android:layout_gravity="center" 
      android:layout_height="fill_parent" android:layout_width="wrap_content"></CheckBox> 
    </LinearLayout> 

</LinearLayout> 

現在,我會在我的根佈局添加事件(OnClickListener)。我可以得到事件,但我看不到默認選擇器(例如,我有Galaxy S2,並在列表中單擊我有藍色背景)。

我可以在LinearLayout click事件上設置默認選擇器嗎?

我在Galaxy S2上附加我的默認選擇器截圖。 Galaxy S2 ListView item selector


對不起,我已經試過的解決方案:

@android:繪製/ list_selector_background

+0

嘗試使用ListView的'setOnItemClickListener'而是採用了clicklistener因爲我已經試過每個視圖 –

+0

但對於我的應用程序,我無法做到這一點。 – CeccoCQ

回答

13

修改根目錄的LinearLayout變成這個樣子(請注意最後一行!)

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:gravity="center" 
    android:orientation="horizontal" 
    android:layout_height="wrap_content" 
    android:id="@+id/rootrow_layout" 
    android:clickable="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:background="@android:drawable/list_selector_background"> 
+0

非常感謝! – Buffalo

3

在XML列表視圖中添加以下代碼。

android:listSelector="@android:drawable/list_selector_background"