2
私はgetViewでも試しましたが、これは選択した項目を強調表示する必要があります。ここに私のコードです。私はこれに関連しているが、私のために働いていないそれぞれの答えを見てきました。最初の項目の背景色を変更した後、一部の項目の後に別の項目も変更された場合
slots.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
for(int i=0;i<list.size();i++)
{
View v=getViewByPosition(i,slots);
if(i==position)
{
v.setBackgroundColor(getResources().getColor(R.color.colorAccent));
}
else {
v.setBackgroundColor(getResources().getColor(R.color.AppBackground));
}
}
}
});
progress.dismiss();
}
public View getViewByPosition(int pos, HorizontalListView listView) {
final int firstListItemPosition = listView.getFirstVisiblePosition();
final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1;
if (pos < firstListItemPosition || pos > lastListItemPosition) {
return listView.getAdapter().getView(pos, null, listView);
} else {
final int childIndex = pos - firstListItemPosition;
return listView.getChildAt(childIndex);
}
}
アダプターでViewHolderパターンを使用していますか? –
backgndを設定してアダプタクラスでdettする必要がある場合は、 –
[ありがとうすべて] –