2011-12-04 6 views
0

私が持っているでファイルlst_custom_view.xmlAndroidでSelector Listviewを使用するには?

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/RelativeLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top|left" 
     android:background="@drawable/list_choose" 
     android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:layout_gravity="center" 
      android:layout_marginLeft="20dp" 
      android:ellipsize="marquee" 
      android:marqueeRepeatLimit="marquee_forever" 
      android:scrollHorizontally="true" 
      android:singleLine="true" 
      android:textColor="#ff000000" 
      android:textSize="22dp" /> 
    </RelativeLayout> 

そして、リストビューMain.xml私は名前でRelativelayoutの背景とセレクタを使用

<ListView 
        android:id="@+id/lstView" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_marginLeft="8dp" 
        android:layout_marginRight="8dp" 
        android:layout_weight="1" 
        android:background="@android:color/transparent" 
        android:cacheColorHint="@android:color/transparent" 
        android:divider="@drawable/menu_phancach" 
        android:dividerHeight="2dp" 
        android:visibility="visible"> 
     </ListView> 

list_choose.xml

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

これは、RelativeLayoutの背景を表示しています。項目リストビューを押したときに背景menu_content_hoverで選択されていないときは、menu_content_hoverを表示します。ユーザが項目を押したときに背景を変更したい場合はを選択し、ユーザがスクロールリスト(未選択)を選択した場合はbackround menu_contentを変更するか、simpleCursorAdapterを使用します。どんな助け?あなたのすべての協力に感謝します。

答えて

0

セレクタは次のようにすべきである:

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

    <item android:state_pressed="true" 
     android:drawable="@drawable/background_pressed" /> 
    <item android:state_focused="true" 
     android:drawable="@drawable/background_focused" /> 
    <item android:state_selected="true" 
     android:drawable="@drawable/background_selected" /> 
    <item android:drawable="@drawable/background_default"/> 

</selector> 
+0

HI。あなたの助けに感謝しますが、それは動作しません。 ** state_focused **と** state_selected **はイベントを発生させないためです。その他のヘルプ – judgement

関連する問題