나는 정말로 혼란스러워합니다. 활동 작성시 ArrayAdapter를 한 번 채 웠습니다. 간단한 개체로 채워져 있습니다. 객체의 매개 변수에는 어댑터의 getView() 메소드에서 사용하는 하나의 부울이 있습니다.ArrayAdapter가 스크롤 할 때 약간의 정보를 잃습니다.
MedicalExamination object = getItem(position); //object is acquired at the begining of getView()
if (!object.isResultAvalible())
viewHolder.attachment.setVisibility(View.GONE);
내가 위아래로 여러 번 목록을 스크롤 할 때 resultAvalible 부울 변화 시작 (?!) :이 관련된 부분입니다. 객체에 대한 다른 정보는 변하지 않습니다. 필자는 목록 셀에 TextViews에 표시되는 몇 개의 문자열을 보유하고 있습니다. List는 그대로 유지됩니다 ...이 부울 params 외에도 내 ImageView (첨부)가 사라지고 변하게 만듭니다.
내 bollean 매개 변수가 비공개이므로 설정 방법이 없습니다. 그것의 beeing 세트가 생성자에있는 유일한 방법.
나는 어떤 일이 일어나고 있는지 전혀 모른다. 그것에 대해 도움이 필요하다. 때문에 요청에
는내 사용자 정의 어댑터 코드 : 당신은 당신이보기가이 행이 사용 된 곳에서 숨겨져있을 수있는 당신의 손 (하나에 재활용 전망을 수있는 고려 취할 필요
private class ExaminationsAdapter extends ArrayAdapter<MedicalExamination> {
private int resource;
public ExaminationsAdapter(Context context,
List<MedicalExamination> objects) {
super(context, R.layout.examinations_list_item, objects);
resource = R.layout.examinations_list_item;
}
class ViewHolder {
public TextView examinationsNames;
public TextView date;
public ImageView attachment;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
ViewHolder viewHolder;
MedicalExamination object = getItem(position);
if (view == null) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(resource, null, true);
viewHolder = new ViewHolder();
viewHolder.examinationsNames = (TextView) view.findViewById(R.id.examinations_item_title);
viewHolder.date = (TextView) view.findViewById(R.id.examinations_item_date);
viewHolder.attachment = (ImageView) view.findViewById(R.id.examinations_item_attachment);
view.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) view.getTag();
}
if (object == null) {
return view;
}
viewHolder.examinationsNames.setText(object.getExaminationsNames());
viewHolder.date.setText(object.getDate());
if (!object.isResultAvalible())
viewHolder.attachment.setVisibility(View.GONE);
setOnListTouchListener(view);
return view;
}
}
맞춤 어댑터를 만들었습니까? 작성한 어댑터 코드를 더 추가하십시오. – GamDroid
일부 코드를 게시하십시오. – Atrix1987
맞춤 어댑터 코드를 곧 게시 할 예정입니다. 그냥 너무 오래 걸리지 않을테니까 –