0

カスタマイズされたリストビューがあります。このリストには、15 項目ほどあります。スクロールしようとすると、スクロールが非常に遅く、スムーズではありません。

ここに私のリストビューがあります:

 <ListView
  android:id="@+id/AnnouncementsList"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:layout_marginTop="25dp"
  android:cacheColorHint="#00000000"
  android:fastScrollEnabled="true"
  android:scrollingCache="true"
  android:smoothScrollbar="true" 
  android:layout_marginLeft="5dp"
  android:layout_marginRight="5dp"/>

そして、ここに私のリストアダプターがあります:

public class AnnouncementsListAdapter extends BaseAdapter {

private static ArrayList<NewsAnnouncements_Database> announcementsArrayList;

private LayoutInflater mInflater;

public AnnouncementsListAdapter(Context context, ArrayList<NewsAnnouncements_Database> searchResults) {
     announcementsArrayList = searchResults;
     mInflater = LayoutInflater.from(context);
 }


 public int getCount() {
  return announcementsArrayList.size();
 }


 public Object getItem(int position) {
  return announcementsArrayList.get(position);
 }


 public long getItemId(int position) {
  return position;
 }


 public View getView(int position, View convertView, ViewGroup parent) {
  ViewHolder holder;
  if (convertView == null) {     
       convertView = mInflater.inflate(R.layout.announcements_customisation, null);
       holder = new ViewHolder();
       holder.AnnouncementsTitle = (TextView) convertView.findViewById(R.id.AnnouncementsTitle);
       holder.AnnouncementsContent = (TextView) convertView.findViewById(R.id.AnnouncementsContent);
       convertView.setTag(holder);
  }
  else {
   holder = (ViewHolder) convertView.getTag();
  } 
  holder.AnnouncementsTitle.setText(Html.fromHtml(announcementsArrayList.get(position).getTitle()));
  holder.AnnouncementsContent.setText(Html.fromHtml(announcementsArrayList.get(position).getContent()));
  return convertView;
}

 static class ViewHolder {
  TextView AnnouncementsTitle;
  TextView AnnouncementsContent;
 }

}

4

1 に答える 1

1

XML レイアウトで cacheColorHint 属性を削除してみてください。

于 2012-08-02T10:08:06.837 に答える