我正在嘗試爲每行創建一個listview:標題和項目網格。通過下面的代碼,我得到了正確的標題列表,但每行的gridView都填充了最後一行的項目。Listview中的Gridview正在重複每行的最後一個GridView項目
日誌記錄顯示,每次調用getView時,都會獲取正確標題的正確項目。我懷疑有一個共享引用,或者我在某處寫錯了一行。
類似的問題都是回收視圖的問題,我正在做的是正確的。
gridItemListAdapter gridArrayAdapter = new gridItemListAdapter(context, item.getGridItems());
的問題不是其每單實例適配器:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = l_Inflater.inflate(R.layout.list_item_my_listview, null);
holder = new ViewHolder();
holder.txt_name = (TextView) convertView.findViewById(R.id.name);
holder.myGridView = (GridView) convertView.findViewById(R.id.my_gridview);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
listItemDetails item = itemDetailsArrayList.get(position);
holder.txt_name.setText(item.name);
gridItemListAdapter gridArrayAdapter = new gridItemListAdapter(context, item.getGridItems());
holder.myGridView.setAdapter(gridArrayAdapter);
Util.Log(getClass().getName());
Util.Log(cabinetId + " - " + cabinet.getCageList().size());
return convertView;
}
您對所有行使用相同的適配器。所以,當最後一行得到更新時,所有網格項的值都是相同的... – HourGlass
@HourGlass這將解釋它。但是每次調用getView時,我都會用正確的項目創建gridItemListAdapter的新實例。它是如何相同的? – David
你能否檢查你的數據,是否所有的數據都是唯一的? –