Android GridView
khá thú vị, nó sẽ sử dụng lại chế độ xem con. Những người cuộn lên trở lại từ phía dưới. Vì vậy, không có phương pháp từ GridView
để có được chế độ xem con theo vị trí của nó. Nhưng tôi thực sự cần phải xem xét vị trí của nó và làm một số công việc trên đó. Vì vậy, để làm điều đó, tôi đã tạo một SparseArray
và đặt chế độ xem theo vị trí của chúng trong đó từ getView
trong số BaseAdapter
.GridView có chế độ xem theo vị trí, chế độ xem con đầu tiên khác nhau
SparseArray<View> ViewArray = new SparseArray<View>();
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null)
view = li.inflate(layoutID, null);
ViewArray.put(position, view);
}
Bây giờ, tôi có thể xem tất cả các chế độ hiển thị theo vị trí của chúng. Tất cả mọi thứ hoạt động hoàn hảo như nó nên nhưng trong một số thiết bị, xem con đầu tiên (vị trí 0) không giống như một trong mảng. Tôi đã đăng nhập getView
và thấy rằng đối với vị trí 0, getView
được gọi nhiều lần và mỗi mảng thời gian được đặt với chế độ xem khác nhau. Tôi không có ý tưởng tại sao GridView đang gọi getView
cho vị trí 0 nhiều lần và điều đó chỉ xảy ra trên một vài thiết bị. Bất kì giải pháp nào ?