Tôi đang sử dụng ArrayAdapter để đặt dữ liệu trong ListView với chức năng cuộn vô tận. Có một ImageView và hai TextViews trong hàng của ListView. Lúc đầu, tôi đang tải ListView với 10 mục và khi cuộn xuống, tôi gọi dịch vụ web trong setonscrolllistener để tải 10 mục tiếp theo vào ListView. Khi các mục mới được thêm vào Arraylist, tôi chỉ cần gọi adapter.notifysetdatachanged
để yêu cầu bộ điều hợp làm mới ListView.ListView nhấp nháy khi các mục mới được thêm vào nó
Bây giờ vấn đề là, bất cứ khi nào các mục mới được thêm vào ListView, toàn bộ ListView làm mới và gây ra các hình ảnh trong ListView, đã được tải, để nhấp nháy. Có, tôi đang lưu vào bộ nhớ đệm tất cả các hình ảnh trong cả đĩa và bộ nhớ, và mã lưu trữ rất mượt mà.
Tôi cũng đã thử thêm dữ liệu vào bộ chuyển đổi bằng cách sử dụng số adapter.addall(myarraylist)
này nhưng không hiệu quả. ImageViews vẫn đang nhấp nháy. Tôi đã tìm kiếm rất nhiều về nó trên StackOverflow và thấy rằng bạn không thể thêm và hiển thị thêm các mục trong ListView mà không làm mới toàn bộ listView. Tôi đã biết rằng nhưng phải có một số cách để thêm dữ liệu mới vào ListView và không làm mới dữ liệu đã được tải.
Tôi đang thiết lập bộ điều hợp như thế này.
public View getView(int position, View view, ViewGroup parent)
{
int main = R.layout.layout;
ViewHolder holder = null;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (view == null) {
holder = new ViewHolder();
view = inflater.inflate(main, null);
holder.image = (ImageView) convertView.findViewById(R.id.imageview);
///More stuff
view.setTag(holder);
} else {
holder = (ViewHolder)view.getTag();
}
// Loading ImageViews by Urls
return view;
}
Có ai vui lòng làm sáng tỏ không?
Không chính xác, nhưng điều này có thể liên quan. http://stackoverflow.com/questions/13322575/android-visible-listview-images-flicker-when-adding-data-to-arrayadapter – Zerkz
thử https://github.com/commonsguy/cwac-endless –
Bạn có thể cho biết cách bạn tải hình ảnh vào chế độ xem? Chúc mừng – asheinfeld