0
私は位置変更の問題をExpandable lisviewで解決する方法を見つけようとしています。私は基本的に2つのアイコンで構成されたイメージビューを持っています。私は、以下の方法で拡張可能なリストビューアダプタでImageViewの存在のonclickのLISTNERを設定すると私は位置変更の問題を解決する方法を理解しようとしています
@Override
public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inf = (LayoutInflater) context
.getSystemService(context.LAYOUT_INFLATER_SERVICE);
convertView = lInflater.inflate(R.layout.myfav, parent, false);
}
final ImageView favourite_icon = (ImageView) convertView.findViewById(R.id.favourite_icon);
favourite_icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ImageView imageView = (ImageView)expandableListView.getChildAt(groupPosition).findViewById(R.id.favourite_icon);
imageView.setColorFilter(context.getResources().getColor(R.color.datedisplay),android.graphics.PorterDuff.Mode.MULTIPLY);
}});
位置が間違って来ているし、他のいくつかのアイテムアイコンの色が変化しつつあります。私はこのlisviewにスクロールするとsettedアイコンの色合いは自動的に
expandableListView.getChildAt(groupPosition)が間違ったインデックスを返しています。たとえば、最初のアイテムをクリックすると、最後のアイテムの色が変わり、最後のアイテムをスクロールすると、色もリセットされます –