1

ネイティブのMESSAGINGアプリで行われるのとまったく同じように、ListViewの個々の行を色分けするにはどうすればよいですか?単純に行を交互に表示したくはありませんが、MESSAGINGアプリで使用されている形式をコピーしたいと思います。この形式では、メッセージのユーザー名に基づいてメッセージ行の背景色が異なります。

参考:現在、 SimpleAdapterを拡張し、getView(int position、View convertView、ViewGroup parent)をオーバーライドしています。この方法では、リストを更新するたびに維持している「ハイライトする位置」のリストと比較して、位置に基づいて背景色を設定することを計算しようとしていますが、これまでのところ、これは初めて機能しますリストが更新されます。

SimpleAdapterをオーバーライドするクラス:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
  View view = super.getView(position, convertView, parent);  

  if(highlightPositions.contains(new Integer(position))){
      view.setBackgroundColor(highlightColor);        
  }
  else{
      view.setBackgroundColor(normalColor);      
  }   
  return view;
}

あなたが提供できるどんな指導にも感謝します!

4

2 に答える 2

0

助けてくれてありがとう。実際、私がリストしたコードは実際に機能します。この問題は、highlightPositionsリストで強調表示するリストの位置を追跡する際の小さな間違いであることが判明しました。それを修正すると、実際には、highlightPositionsリストにハイライトする正しい位置が含まれていたので、正しく機能しました。

于 2010-03-02T04:51:53.590 に答える