0

ビューを強調表示して、ユーザーがどのアイテムを選択したかを確認できるようにします。私はこのように試しました:

View.setBackground(COLOR.RED);

アイテムクリックリスナーのlistView内で機能しますが、リストがスクロールされると、ランダムビューが背景の変化を開始します。それらを強調表示し、listView スクロールで強調表示されている項目を失わないようにするにはどうすればよいですか?

注: 行ごとに 1 つの imageView と 3 つの textView を持つカスタム アダプターを使用しています。

ありがとう

編集:申し訳ありませんが、複数のアイテムを選択できるようにしたいと言い忘れました。

4

2 に答える 2

1

アイテム レイアウトの背景色を設定する ここを見てください https://github.com/cplain/custom-list概念は同じでなければなりません-私のランナブルを無視してください

于 2013-01-17T03:32:20.107 に答える
1

これを行う簡単な方法は、いくつかのカスタム スタイルを作成することです。drawable フォルダーでは、通常の状態とホバーまたは押された状態のスタイルを作成できます。

したがって../drawable/、いくつかの要素を作成する必要があります。

1)list_bg.xmlファイル:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#db0000"
      android:centerColor="#c50300"
      android:endColor="#b30500"
      android:angle="270" />
</shape>

2)list_bg_hover.xmlファイル:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#db0000"
      android:centerColor="#c50300"
      android:endColor="#b30500"
      android:angle="270" />
</shape>

3)list_selector.xmlファイル:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/list_bg" android:state_pressed="false" android:state_selected="false"/>
    <item android:drawable="@drawable/list_bg_hover" android:state_pressed="true"/>
    <item android:drawable="@drawable/list_bg_hover" android:state_pressed="false" android:state_selected="true"/>

</selector>

ListViewこれを使用するには、このように行アイテムのレイアウトにスタイルをアタッチするだけですandroid:listSelector="@drawable/list_selector"

于 2013-01-17T03:36:59.990 に答える