分離リストを使用していますが、複数のヘッダーがあり、選択したリストアイテムのヘッダーの色を変更したいと思います。これがヘッダーの位置を見つけることができる私のコードであり、リストの最初のセクションが選択されたときに最初のヘッダーの色を変更することができます。リストの別のセクションを選択すると、別のヘッダーの色を変更できません。
これでは、ArrayAdapterを使用しています。つまり、ビューを再利用していません。一度作成したビューの場合、変更されません。したがって、このための条件とループの使用方法は誰でも提案できます。
これがSepratorListAdapterクラスの私のviewメソッドです
public View getView(int position, View convertView, ViewGroup parent) {
int sectionnum = 0;
for(Object section : this.sections.keySet()) {
Adapter adapter = sections.get(section);
int size = adapter.getCount() + 1;
if(position==0)
{
TextView tv = (TextView)headers.getView(sectionnum, convertView, parent).findViewById(R.id.txt_week);
if(sectionnum==header_pos)
{
headers.getView(sectionnum, convertView, parent).setBackgroundResource(R.drawable.red_strip);
}
else
{
headers.getView(sectionnum, convertView, parent).setBackgroundResource(R.drawable.gray_strip);
}
return headers.getView(sectionnum, convertView, parent);
}
if(position < size)
{
return adapter.getView(position - 1, convertView, parent);
}
position -= size;
sectionnum++;
}
return null;
}
解決策とトリックがありますので、提案してください。前もって感謝します。