2012-02-24 5 views
6

私のリストビューの項目が強調表示されているこの問題を解決するために必死にしています。私はstackoverflowでここで見つけることができたすべてのソリューションを見直し、私のために働いているものは見つけられませんでした。ListViewの項目が黒でハイライト表示されないようにする方法

まず、これはLinearLayoutのViewPagerのLinearLayoutにあるListViewです。

ListViewの各アイテムは、LinearLayout(TextViewを含む)とギャラリーを含むLinearLayoutです。ギャラリーには、FrameLayoutにTextViewとImageviewを含む複数のLinearLayoutsが含まれています。

この問題は、クリック時ではなくドラッグ時に発生します。ストーリーを指でスワイプしたとき(ListViewがドラッグでスクロールしているとき)、下の項目が選択されます。さらに、この特定の問題は、スクロール時にオーバースクロール効果がバウンスを起こさないデバイスでのみ発生します。次のような問題を解決する

試みは、次のとおりです。XMLで背景色にリストセレクターを設定し

  • (失敗)
  • XMLでリストを選択アルファへ#00000000を設定します(失敗)
  • を超えるが、プログラムで
  • 以上が、トンを削除-1 onListItemClick
  • に選択を設定し、テーマ
  • コードによって彼はリスト項目ののLinearLayout(4.0上で動作します)からバックグラウンド
  • #00000000android:cacheColorHintを設定するには(何もしない?)

任意の助けいただければ幸いです。私はなぜこれをやっているのか分かりませんし、本当に止める必要があります。

Screenshot of ListView Item being HIghlighted

+0

クリック可能なアイテムをリストに追加すると、listSelectionが無効になります。これを悪用したり、詳細を見ることができます。 – Warpzit

答えて

8

これは最も興味深い問題でした。その解決策はさらに面白いです。

なんらかの理由で、私が試したことがなく、誰も考えなかったことは、ListView項目のLinearLayoutからandroid:backgroundを削除することでした。

android:backgroundを削除すると、レイアウトは正しく表示され続け、黒は表示されなくなります。あなたはこれが解決しないことをこれと同様の問題がある場合は

、あなたは、Androidのブログをチェックすることもできます。Why is my list black?

EDIT:これは、ICSのためにうまくいきましたが、2.1にはるかに大きな問題を惹起しました。試練を完全に解決するために、ListViewLinearLayout)をインラインスタイルで、ListViewに適用したスタイル定義でandroid:cacheColorHint="#000000"と指定する必要がありました。

+4

実際、キャッシュカラーヒントは '#000000'ではなく'#00000000'に設定する必要があります –

関連する問題