2012-05-26 112 views
0

我爲Table設計了兩個窗格UI。在左窗格中,我顯示列表視圖,並在右窗格中顯示列表詳細信息。我想顯示列表行作爲用戶單擊的選定對象,並將其顯示在右側窗格中。ListView設置選中項目背景顏色

所以我設置下面的代碼來選擇項目。

android:choiceMode="singleChoice" 
android:background="@drawable/selector_list_view" 

列表佈局位於佈局文件下方。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="1dp" 
android:background="@drawable/bg_dialog_fragment"> 


    <Button  
     android:id="@+id/SortByTitle" 
     android:layout_width="0dip" 
     android:textColor="@color/solid_black" 
     android:background="@drawable/sort_button_selected" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="0dip" 
     android:paddingTop="5dip" 
     android:paddingBottom="5dip" 
     android:paddingRight="8dip" 
     android:textSize="15sp" 
     android:textStyle="bold" 
     android:layout_weight="0.5" 
     android:text="@string/project" 
     android:drawablePadding="5dip" 
     android:drawableRight="@drawable/up_arrow"/> 
    <Button 
     android:id="@+id/SortByDate" 
     android:textColor="@color/solid_black" 
     android:background="@drawable/sort_button_unselected" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:paddingTop="5dip" 
     android:layout_marginLeft="0dip" 
     android:paddingBottom="5dip" 
     android:textStyle="bold" 
     android:textSize="15sp" 
     android:layout_weight="0.5" 
     android:drawablePadding="5dip" 
     android:paddingRight="8dip" 
     android:text="@string/due_date"/> 
</LinearLayout> 

<TextView 
    android:paddingRight="1dp"   
    android:layout_marginRight="1dp" 
    android:id="@+id/TextViewTitle" 
    style="@style/title_style" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/SortOrder" 
    android:text="@string/workflow_incourt" /> 

    <RelativeLayout 
    android:layout_marginRight="1dp" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/SearchFooter" 
    android:layout_below="@+id/TextViewTitle" 
    android:background="@color/solid_white" 
    > 

    <ListView 
     android:id="@+id/ListViewProject" 
     style="@style/listview_style" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:choiceMode="singleChoice" 
     android:background="@drawable/selector_list_view" /> 

</RelativeLayout> 

而繪製的是

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
<item android:state_checked="true" android:state_focused="true" android:drawable="@android:color/background_dark" /> 
<item android:state_checked="true" android:state_focused="false" android:drawable="@android:color/background_dark" /> 
<item android:state_selected="true" android:drawable="@android:color/background_dark"/> 
<item android:state_checkable="true" android:drawable="@android:color/background_dark"/> 

但它仍然沒有顯示爲選擇列表行。我還需要做些什麼才能做到這一點。

另附的是所選項目的屏幕截圖。 enter image description here

回答

0

我認爲你可以保留只在一個變量中選擇的物品ID的跟蹤。然後在:

適配器的
  • GetView如果ID與您例如設置OnListItemClickListener您可以通過使用新的ID裁判
取代它刪除舊ID存儲的一個紅色
  • 匹配
  • 相關問題