2011-07-22 14 views
0

私のリストビューには5行あります。各リストビューにはイメージとテキストが関連付けられています。リストビューをクリックすると背景色が変わりますリスト内の別の位置をクリックする前に選択されたリスト行が元の状態になり、選択された色とイメージが変更されます...どのようにそれを実現するのですか?ありがとうリストビューをクリックすると、backgroundviewの背景色とイメージが変更されます

私のコードは..以前選択した行を保持しません...

public void onListItemClick(ListView parent, View v, int position, 
                   long id) { 
     if(position == 0) 
     { 
       v.setBackgroundColor(Color.WHITE);     
     } 
     if(position == 1) 
     { 
       v.setBackgroundColor(Color.WHITE);     
     } 

    Toast.makeText(getApplicationContext(), "You have selected " 
        +(position+1)+"th item", Toast.LENGTH_SHORT).show(); 
} 

答えて

1

セレクタのコンセプトを使用できます。セレクタxmlを作成し、それを行の背景として使用します。このリンクに

http://android-journey.blogspot.com/2009/12/android-selectors.html 
を使用することができます

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:drawable="@drawable/selector_s" /> 
    <item android:state_pressed="true" android:drawable="@drawable/selector_s" /> 
    <item android:drawable="@drawable/selector_d" /> 
</selector> 

:それはこのyou.likeを助けるかもしれません

関連する問題