ListView滑动一次后,getView方法有部分不执行了!

Marco_Lee 2011-11-22 01:23:11
先上代码!

@Override
public View getView(int position, View contentView, ViewGroup arg2) {

contentView = inflater.inflate(R.layout.daytoday_item, null);
TextView monthText = (TextView)contentView.findViewById(R.id.daytoday_month);
TextView eText = (TextView)contentView.findViewById(R.id.daytoday_expenses);
TextView iText = (TextView)contentView.findViewById(R.id.daytoday_income);

eCursor = eCursorList.get(position);
iCursor = iCursorList.get(position);

int month = position + 1;
String s = month < 10 ? "0" + month : "" + month;
monthText.setText(s + "月");
while(eCursor.moveToNext()) {
expenses += eCursor.getDouble(3);
System.out.println("---->Cursor.moveToNext");
System.out.println(expenses);
}
while(iCursor.moveToNext()) {
income += iCursor.getDouble(3);
}
eText.setText("" + expenses);
iText.setText("" + income);
expenses = 0;
income = 0;
System.out.println("---->getView");
return contentView;
}


现在情况是这样,listView滑动一次到底后,之后无论怎么滑动,
System.out.println("---->Cursor.moveToNext");
System.out.println(expenses);
这两句一直没见打印出来!(第一次有打印出)
也就是两个while语句没有再执行了!(Cursor不是空的)
但是最后一句
System.out.println("---->getView");
却打印出来了!
请问这个是什么情况??
有解决方法吗?
...全文
364 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Marco_Lee 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lingang1359 的回复:]

通过Cursor来绑定的话,到了ListView最后一个的时候,Cursor也是到了最后一条数据,再往下就没有数据了,eCursor.moveToNext必然为false的,当然是不会进入循环里面了。
[/Quote]

对,就知这样,我也想到了- - ,不过想了大半天。。之前也试过。。总是忽略了这个问题
Marco_Lee 2011-11-22
  • 打赏
  • 举报
回复
突然想到,会不会是因为cursor移动到最后没有移回去呢 - - 试试看
lingang1359 2011-11-22
  • 打赏
  • 举报
回复
通过Cursor来绑定的话,到了ListView最后一个的时候,Cursor也是到了最后一条数据,再往下就没有数据了,eCursor.moveToNext必然为false的,当然是不会进入循环里面了。
Marco_Lee 2011-11-22
  • 打赏
  • 举报
回复
怎么没人啊。。。顶~~~~

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧