I have a class that extends BaseAdaptor and overrides the getItemViewType(int position) function. When I swap the cursor or notify the data set change, the value being passed in for position is always 0. However if I put a debug point in getItemViewType and call getCount, the value returned is 4. Similarly, calling getItem(0), getItem(1), getItem(2) and getItem(3) from the same debug point all return valid results.
Any ideas why position doesn't iterate though [0,1,2,3]?