Android更新单行 - 奇怪的行为

时间:2013-03-20 19:18:10

标签: android android-listview

我已经实现了自定义适配器并为图像下载执行了一些异步操作。我还实施了PullToRefresh - Nillson

这就是我为更新所做的事情

int startRow = mainListView.getFirstVisiblePosition();
int endRow = mainListView.getLastVisiblePosition();
Log.e("IMAGEURL", "position: " + curPosition + " " + "startRow: " + startRow + " " +       imageInfo.imageUrl);
if (curPosition >= startRow && curPosition <= endRow & imageInfo.holderPosition == curPosition) {
View rowView = mainListView.getChildAt(curPosition - startRow);

奇怪的是,rowView返回PullToRefresh顶部相对布局而不是我的列表的行视图。这是调试信息,因为我的视图中没有ant进度条,它与PullToRefresh顶部布局完全匹配。

[0] ProgressBar  (id=830008126840)  
[1] ImageView  (id=830008129008)    
[2] TextView  (id=830008130288) 
[3] TextView  (id=830008131616) 

这只发生在我的listVew中没有滚动时(所有行都可见,没有隐藏的行)。如果我增加超出可见数字的行数,我会在mainListView.getChildAt(curPosition - startRow)上得到我的rowView但不是正确的行,因为在位置0,mainListView.getFirstVisiblePosition()给我1实际上应为零。

更多详情:

PullToRefresh库在用户的listView行的顶部添加一行,它在索引0处发生。

它还会更改getCount()并给出(原始行+ 1个额外的)

编辑:

我删除了PullToRefresh一切正常,getFirstVisiblePosition()给出了正确的位置。图像映射到右侧行。

但我需要拉动才能刷新。仍在寻找答案。

0 个答案:

没有答案