이 코드 내 목록보기위한 사용자 정의 BaseAdapter 있습니다스크롤의 ListView는 매우 느립니다
이public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null)
{
}
else
{
holder = (ViewHolder) convertView.getTag();
}
convertView = mInflater.inflate(R.layout.user_submissions_customisation, null);
holder = new ViewHolder();
holder.JournalName = (TextView) convertView.findViewById(R.id.JournalName);
holder.SubmissionTitle = (TextView) convertView.findViewById(R.id.SubmissionTitle);
holder.SubmissionDate = (TextView) convertView.findViewById(R.id.SubmissionDate);
holder.statusOk=(ImageView)convertView.findViewById(R.id.statusOkImage);
holder.statusRejected=(ImageView)convertView.findViewById(R.id.statusRejectedImage);
holder.statusProcessing=(ImageView)convertView.findViewById(R.id.statusProcessingImage);
convertView.setTag(holder);
ImageView statusOk=(ImageView)convertView.findViewById(R.id.statusOkImage);
ImageView statusRejected=(ImageView)convertView.findViewById(R.id.statusRejectedImage);
ImageView statusProcessing=(ImageView)convertView.findViewById(R.id.statusProcessingImage);
MDPIActivity mdpi = new MDPIActivity();
Context context =mdpi.getContext();
LocalDatabase localDatabase = new LocalDatabase(context); //Instantiation of the DB
int status = localDatabase.getSubmissionStatus(position+1);
if (status==102 | status==19)
{
statusRejected.setVisibility(View.VISIBLE);
}
else
{
if (status==29)
{
statusOk.setVisibility(View.VISIBLE);
}
else
{
statusProcessing.setVisibility(View.VISIBLE);
}
}
holder.JournalName.setText(submissionsArrayList.get(position).getJournalTitle()+"-"+submissionsArrayList.get(position).getID());
holder.SubmissionTitle.setText(submissionsArrayList.get(position).getTitle());
holder.SubmissionDate.setText(submissionsArrayList.get(position).getDate());
return convertView;
}
static class ViewHolder {
TextView JournalName;
TextView SubmissionTitle;
TextView SubmissionDate;
ImageView statusOk;
ImageView statusRejected;
ImageView statusProcessing;
}
모든 아지만 디스플레이에있는 목록의 작성을 작동하고 스크롤 매우 느린입니다. 내가 너무 EY 목록이 사용 :
android:fastScrollEnabled="true"
android:scrollingCache="true"
android:smoothScrollbar="true"
그러나 목록보기에 previeous보기에서 변경보기가 느리고 너무 목록의 스크롤입니다.
감사합니다 akkilis, 문제는 지금 내가 scrooling 때 요소 위치가 변경되고 내가 어떤 정보에 대한 내 if 조건에이 정보를 사용한다는 것입니다. –
사실은 변하지 않지만 변경된 것 같습니다. – akkilis
이것은 행의 모든 요소에 대해 데이터를 설정하지 않았고 해당 요소가 이전 행에 일부 데이터로 존재하는 경우 변환보기를 다시 사용하기 때문에 동일하게 표시되기 때문입니다. – akkilis