2014-04-19 62 views
0

enter image description here列表視圖選擇器不能正常工作的自定義列表視圖

我正在開發具有自定義列表視圖的應用程序。現在,我想爲列表視圖設置選擇器,但它不起作用。我無法理解它爲什麼不起作用,可能是因爲它的佈局文件有切換按鈕,並且選擇器已經爲此視圖設置。我有谷歌很多,但無法找到任何解決方案。提前致謝。

這裏是我的main.xml

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <RelativeLayout 
      android:id="@+id/relativeNavBar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/header_bg" > 

      <TextView 
       android:id="@+id/ListItem_txtHeading" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:text="@string/myitem" 
       android:textColor="@color/white" 
       android:textSize="20sp" /> 

      <Button 
       android:id="@+id/btnPopUp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_centerInParent="true" 
       android:layout_marginLeft="5dp" 
       android:background="@drawable/selector_btn_menu" 
       android:textStyle="bold" /> 

      <Button 
       android:id="@+id/btnScan" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerInParent="true" 
       android:layout_marginRight="5dp" 
       android:background="@drawable/selector_button_scan" /> 
     </RelativeLayout> 


     <RelativeLayout 
      android:id="@+id/relativeAutoComplete" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/relativeNavBar" 
      android:background="@drawable/sub_header_bg" 
      android:focusableInTouchMode="true" 
      android:orientation="horizontal" > 

      <LinearLayout 
       android:id="@+id/linear" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="20dp" 
       android:background="@drawable/add_search_inputbg" 
       android:gravity="center_vertical" > 

       <AutoCompleteTextView 
        android:id="@+id/ListItem_autoComplete" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="5dp" 
        android:layout_weight="40" 
        android:background="@android:color/transparent" 
        android:ellipsize="end" 
        android:focusable="true" 
        android:inputType="text" 
        android:lines="1" 
        android:paddingLeft="10dp" 
        android:singleLine="true" 
        android:textColor="@color/greyish" 
        android:textSize="16sp" 
        android:visibility="visible" /> 

       <EditText 
        android:id="@+id/ListItem_EdtSearch" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="5dp" 
        android:layout_weight="40" 
        android:background="@android:color/transparent" 
        android:ellipsize="end" 
        android:focusable="true" 
        android:inputType="text" 
        android:lines="1" 
        android:paddingLeft="10dp" 
        android:singleLine="true" 
        android:textColor="@color/greyish" 
        android:textSize="16sp" 
        android:visibility="gone" /> 

       <ImageButton 
        android:id="@+id/ListItem_btnDelete" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="2dp" 
        android:layout_marginRight="2dp" 
        android:layout_weight="1" 
        android:background="@null" 
        android:contentDescription="@string/All_completed_items" 
        android:src="@drawable/crossbutton" 
        android:visibility="invisible" /> 
      </LinearLayout> 

      <ImageButton 
       android:id="@+id/ListItem_btnAdd" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_marginRight="4dp" 
       android:background="@null" 
       android:contentDescription="@string/All_completed_items" 
       android:src="@drawable/add_button_selector" 
       android:visibility="visible" /> 

      <ImageButton 
       android:id="@+id/ListItem_btnSearchAutoComplete" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_marginRight="4dp" 
       android:background="@null" 
       android:contentDescription="@string/All_completed_items" 
       android:src="@drawable/search_button" 
       android:visibility="gone" /> 
     </RelativeLayout> 


     <LinearLayout 
      android:id="@+id/realtiveBottom" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:background="@drawable/bottom_bar_bg" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/ListItem_btnSort" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" 
       android:background="@drawable/selector_btnsort" /> 

      <Button 
       android:id="@+id/ListItem_btnSearch" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" 
       android:background="@drawable/selector_btnsearch" /> 

      <Button 
       android:id="@+id/ListItem_btnShare" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" 
       android:background="@drawable/selector_btnshare" /> 

      <Button 
       android:id="@+id/ListItem_btnAbout" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" 
       android:background="@drawable/selector_btnabout" /> 

      <Button 
       android:id="@+id/ListItem_btnHelp" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" 
       android:background="@drawable/selector_btnhelp" /> 
     </LinearLayout> 

     <ListView 
      android:id="@+id/ListItem_lvItem" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@id/realtiveBottom" 
      android:layout_below="@id/relativeAutoComplete" 
      android:background="@drawable/item" 
      android:choiceMode="singleChoice" 
      android:divider="@drawable/divider" 
      android:fastScrollEnabled="true" 
      android:scrollingCache="false" > 
     </ListView> 

    </RelativeLayout> 

這裏是我的cusomadaptor.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    > 

    <RelativeLayout 
     android:id="@+id/relativeAdaptor" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:padding="5dp" 
     > 

     <CheckBox 
      android:id="@+id/ListItem_checkbox" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:focusable="false" 
      android:layout_marginLeft="3dp"/> 

     <TextView 
      android:id="@+id/ListItem_txtName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="7dp" 
      android:layout_marginRight="5dp" 
      android:layout_toRightOf="@id/ListItem_checkbox" 
      android:ellipsize="end" 
      android:ems="7" 
      android:singleLine="true" 
      android:textColor="@color/greyish" 
      android:textSize="14sp" /> 

     <TextView 
      android:id="@+id/ListItem_txtDummyTest" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:layout_centerVertical="true" 
      android:ellipsize="end" 
      android:singleLine="true" 
      android:text="@string/All_completed_items" 
      android:textColor="@color/greyish" 
      android:textSize="18sp" 
      android:textStyle="bold" 
      android:visibility="gone" /> 

     <ToggleButton 
      android:id="@+id/ListItem_toggleRecurring" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="5dp" 
      android:background="@drawable/togglebutton_listitem_selector" 
      android:focusable="false" 
      android:textOff="" 
      android:textOn="" 
      android:visibility="gone" /> 

     <RelativeLayout 
      android:id="@+id/relativeDays" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="10dp" 
      android:layout_toLeftOf="@id/ListItem_toggleRecurring" > 

      <TextView 
       android:id="@+id/ListItem_edtDays" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/new_my_item_input" 
       android:gravity="center" 
       android:visibility="gone" /> 

      <ImageView 
       android:id="@+id/ListItem_imgdowndays" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/ListItem_edtDays" 
       android:contentDescription="@string/app_name" 
       android:focusable="false" 
       android:src="@drawable/new_my_item_arrow_down" 
       android:visibility="gone" /> 

      <ImageView 
       android:id="@+id/strip1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/ListItem_imgdowndays" 
       android:contentDescription="@string/app_name" 
       android:focusable="false" 
       android:src="@drawable/stripmy" 
       android:visibility="gone" /> 

      <ImageView 
       android:id="@+id/ListItem_imgUpdays" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/strip1" 
       android:contentDescription="@string/app_name" 
       android:focusable="false" 
       android:src="@drawable/new_my_item_arrow_up" 
       android:visibility="gone" /> 
     </RelativeLayout> 

     <Button 
      android:id="@+id/ListItem_btnPriority" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_toLeftOf="@id/relativeDays" 
      android:background="@drawable/low_priority" 
      android:focusable="false" 
      android:visibility="gone" /> 

     <TextView 
      android:id="@+id/ListItem_singleLine" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="20dp" 
      android:layout_toRightOf="@id/ListItem_txtName" 
      android:background="@drawable/i_got_it11" 
      android:visibility="gone" /> 
    </RelativeLayout> 

</LinearLayout> 

這裏是item.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@drawable/bg"/> 
    <item android:state_selected="true" android:drawable="@drawable/bg"/> 
</selector> 

這裏是我的bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="@android:color/black"/> 
</shape> 
+0

沒有任何嘗試你說過_it不會幫助我__。相信很奇怪。 –

+0

@SimplePlan:我的應用程序有另一個活動,它也包含列表視圖,它只有文本視圖。在設置選擇器到這個列表視圖它工作正常 –

+0

@SimplePlan:我可以有你的郵件ID,如果你不介意 –

回答

0

對於這種情況,您可以爲自定義行設置背景佈局(用於突出顯示效果),並在onItemClickListener()中隱藏/顯示背景佈局。這是我在這種情況下所做的。試着讓我知道。對不起,沒有發佈任何示例代碼。我用我自己的項目耗盡了時間。