行ごとに XML ビューを持つ ListView があります。
各行には ViewFlipper と Button があり、ボタンを押して ViewFlipper のビューをめくることを目的としています。
問題は、Button を正しい ViewFlipper に反転させることができないことです。ListView アダプターで行を設定しているので、ここでボタンのクリックを処理する必要があると想定しています。
クリックは処理されていますが、「反転」されている ViewFlipper は別の行にあります。これは、アダプターがビューをリサイクルしているためだと思います。これを解決する方法がわかりません。
私のコードは
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mLayoutInflater.inflate(mLayout, null);
viewHolder = new ViewHolder();
viewHolder.flipper = (ViewFlipper) convertView.findViewById(R.id.viewConfFlipper1);
viewHolder.v2FieldName = (TextView) convertView.findViewById(R.id.tvLongName);
viewHolder.button01 = (ImageButton) convertView.findViewById(R.id.imageButton1);
viewHolder.button01.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
viewHolder.flipper.showNext();
}
});
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.v2FieldName.setText(items.get(position).get("name"));
return convertView;
}
どんな助けでも大歓迎