リストをクリックしたときに画像を変更したい。リスト内の位置をクリックすると、画像が変更されます。別のリスト位置の ImageView 画像は同じになりますが、私はこれに成功していません。
リスト項目の画像を 1 つ選択すると、ビューに右のアイコン画像が表示され、この位置の選択を解除すると、ImageView に矢印の画像が表示されます。
public View getView(final int position, View convertView,
final ViewGroup parent) {
// TODO Auto-generated method stub
View row = convertView;
if (row == null) {
LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
row = inflater.inflate(mLayoutResourceId, parent, false);
mHolder = new BusinessHolder();
mHolder.mTxt_STDNAME = (TextView) row
.findViewById(R.id.txt_stdName);
mHolder.mTxt_STDCOURSE = (TextView) row
.findViewById(R.id.txt_stdCourse);
mHolder.mTxt_STDYEAR = (TextView) row
.findViewById(R.id.txt_stdYear);
mHolder.mImageViewSelection = (ImageView) row
.findViewById(R.id.img_selection);
mHolder.mLin_layout=(LinearLayout) row.findViewById(R.id.Layout_listText);
row.setTag(mHolder);
} else {
mHolder = (BusinessHolder) row.getTag();
}
mHolder.mTxt_STDNAME.setText(FacultyDatabaseHalper.mStudentStudentName.get(position));
mHolder.mTxt_STDCOURSE.setText(FacultyDatabaseHalper.mStudentCourse.get(position));
mHolder.mTxt_STDYEAR.setText(FacultyDatabaseHalper.mStudentYear.get(position));
mHolder.mLin_layout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(myposition.contains(String.valueOf(position))){
myposition.remove(String.valueOf(position));
mHolder.mImageViewSelection.setImageResource(R.drawable.arrow);
}else{
myposition.add(String.valueOf(position));
mHolder.mImageViewSelection.setImageResource(R.drawable.check);
}
notifyDataSetChanged();
}
});
return row;
}
public class BusinessHolder {
TextView mTxt_STDNAME, mTxt_STDYEAR,
mTxt_STDCOURSE;
ImageView mImageViewSelection;
LinearLayout mLin_layout;
}
}