1

重複の可能性:
リストビューの行ごとに異なる背景色を設定するにはどうすればよいですか?

リストビュー項目に別の色/代替色を追加するにはどうすればよいですか? 以下は、ArrayAdapter を使用して ListView に項目を追加する私のコードです。

list  = (ListView)findViewById(R.id.planetList);
adapter = new ArrayAdapter<String>(MyListViewActivity.this, R.layout.my_list_row, R.id.planetNameTextView);

for (int i = 0; i < planetNamesArray.length; i++) {
adapter.add(planetNamesArray[i]);
}
list.setAdapter(adapter);

私はAndroidの初心者なので、ArrayAdapterを使用してさまざまな背景色を追加するように誰かに案内してもらえますか

4

3 に答える 3

6

最初にカスタム アダプターを使用する必要があります。その getView() メソッドで位置を確認する必要があります。

if(position % 2 == 0)
           row.setcolor(R.color.color1);
else 
      row.setcolor(R.color.color2);

ポイントを理解してください。

于 2012-05-09T06:44:59.900 に答える
3

を拡張してカスタム アダプタ クラスを作成しますBaseAdapter

これを行うと、getView()メソッドが取得されます。そのメソッド内で、リスト項目に必要なビューの操作を実行できます。

@Override
public View getView(int position, View convertView, ViewGroup parent) {

  if(position[i]%2==0)
  {
     // even position color
  }
  else
  {
    // odd position color
  }
}
于 2012-05-09T06:47:04.470 に答える
0

Custome アダプターを使用します。疑似コードは次のようになります。

Class MyAdpater extends BaseAdapter{

public ColorAndData{

private Color color;
private Data data;
}
ColorAndData dataAndColor[];
public MyAdapter(ColorAndData[] data)
this.dataAndColor=data;

}

public view getView(View convertView)
{
dataAndColor.getColor() //and set color
dataAndColor.getdata() //and set data

}
于 2012-05-09T06:43:26.197 に答える