0

ここでリストビューセレクターに関する記事をたくさん読みましたが、それを機能させることができません。リストビューの行を押すと、選択したアイテムではなくリストビュー全体の色が変わります。Listview フラグメントとカスタム行を使用しています。

まず、カスタム行は次のように開始されます。スタイルは、デフォルトの背景色とその他のものを希望するものに設定します。ここにはいくつかのビューがあります。左手の写真に見られるように。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/darkBackdropList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

次に、セレクターがあります。

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

drawable/selected はライトグレー/ブルーの色です:

<drawable name="selected">#8FBDAB</drawable>

私のフラグメントでは、これを行います:

public class GuideListFragment extends ListFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    getListView().setSelector(R.drawable.darklistselector);
}
}

リストビューが表示されると、すべて問題なく表示されます。しかし、単一の行を選択すると、アクティビティ全体をカバーするリストビューの色が「darklistselector」に変わります。

これをカスタム行の背景として設定しようとしましたが、画面全体を黒、グレー/青、白の間で変更すると、さらに奇妙になりました。

助けてくれてありがとう。

ここに画像の説明を入力

4

1 に答える 1

0

申し訳ありませんが、私のせいですが、誰かが私と同じことをした場合に備えて. 基本的に、スタイルを削除して次のように変更する必要がありました。

android:background="@drawable/darklistselector"

次に、押されていないための新しいセレクターを追加します。

    <item android:state_pressed="true" android:drawable="@drawable/selected"/> 
    <item android:state_pressed="false" android:drawable="@drawable/standard"/> 

選択されたものが行のハイライトであり、標準が通常の背景であると、私のスタイルは以前はそうでした。

于 2014-01-26T00:17:41.393 に答える