0

リストビューのアイテムの画像ビューに画像Aを設定しました。onclick イベントを設定し、別の画像 B に変更します。しかし、クリックした後、別の画像に変更できません。ログを出力すると、このメソッドが呼び出されていることがわかります。

holder.bus_icon.setImageResource(R.drawable.bus_blue);
            holder.bus_icon.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Log.i("i", "点击图标了+test11" + position);
                    holder.bus_icon.setImageResource(R.drawable.bus_red);
                    adapter.notifyDataSetChanged();
                }
            });
4

2 に答える 2

3

adapter.notifyDataSetChanged();アダプターで何も変更されていないため、削除 して呼び出しますholder.bus_icon.invalidate();

これがお役に立てば幸いです。

于 2012-12-07T08:46:54.617 に答える
2

onclick で、ホルダーが間違った imageView を指しています。

代わりにこれを使用してください

               @Override
                public void onClick(View v) {
                    Log.i("i", "点击图标了+test11" + position);
                    ImageView iv = (ImageView)v;
                    iv.setImageResource(R.drawable.bus_red);
                }

それが解決することを願っています

于 2012-12-07T08:49:21.430 に答える