答えを見つけました。 私の問題はセレクタの状態ではない、私はすべての項目のための同じ状態でセレクタをしたい! 問題は、アダプターのアイテムの特定のブール値がfalseで、ブール値がtrueの場合はアイテムが通常のものになりたいが、カラーがXであっても、それが選択または押されると透明にしたい。
だから、解決策は以下の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="@android:color/transparent" /> <!-- pressed -->
<item android:state_selected="true"
android:drawable="@android:color/transparent" /> <!-- focused -->
<item android:drawable="@color/viewed_hotels_color" /> <!-- default -->
</selector>
私は、リスト自体は状態を取得1であっても、それはそれ子供(IEリストアイテムだと上の状態を渡すん見つけました)私はそれがしなかったと思った。 アンドロイド:ここでは有効ではありませんが、アンドロイドのリストアイテムはフォーカスされていませんが選択されていますので、押されたり選択されていない状態で見ることができます。すべて。私のアダプタで
私は(getViewメソッド()メソッドで)次のコードが必要になります。
View itemView = convertedView; <- i'll spare you the layout details...
Item item = getItem(position);
if(item.isViewed()){
itemView.setBackgroundResource(R.drawable.viewed_item_background);
}else{
itemView.setBackgroundDrawable(null);
}
これは、すべての項目が右の背景を取得しますを確認します。もちろん、アイテムの状態が表示に変更され、私はそれがアダプタでnotifyDatasetCahnged()を呼び出す必要があることを表示したい場合。
ok問題はセレクタにないことがわかりました。 私が欲しいのは、Gmailのアプリのようなアイテムには2つの異なる色のリストがあります。再び問題は、セレクタが表示されていない特定の項目の背景を設定したら、セレクタまたはプレスイベントで項目のaplhaレベルをどのように変更できるのかということです。 – codeScriber