光标最后android,关于android:如何使用Cursor和Sqlite DB从光标的最后一个条目移到第一个条目(反之亦然)?...

这篇博客探讨了在使用 SQLite 数据库时如何正确处理游标滚动。作者遇到的问题是在第一个或最后一个条目上点击上一个或下一个按钮时,需要使游标自动移动到正确的位置。解决方案是利用 Cursor 类的 isBeforeFirst 和 isAfterLast 方法,当在第一个位置按下上一个按钮时移动到最后一个位置,反之亦然。提供的代码示例展示了如何实现这一逻辑,从而确保流畅的用户滚动体验。
摘要由CSDN通过智能技术生成

我有一个正在使用游标访问的Sqlite数据库。 我可以滚动光标并运行" check();" 方法。 我遇到的问题是当我滚动经过光标时。

即:在第一个条目上单击我的上一个按钮,或在最后一个条目上单击我的下一个按钮...

我试图放入一个if语句来自动移动到正确的位置。

我想做的是,如果我在第一个位置上并按了上一个按钮,我想移至光标的最后一个位置并继续。

另外,如果光标在最后一个位置并尝试滚动到我希望它移到第一个位置的位置。 以下是我尝试实现这一目标的尝试。

@Override

public void onClick(View v){

View src = v;

switch (src.getId()) {

case R.id.ButtonPrevious:

if  ((main.cursor.moveToPrevious()) ==  (main.cursor.moveToFirst()))

{

main.cursor.moveToLast();

}else{

main.cursor.moveToPrevious();

}

check();

case R.id.ButtonNext:

if  ((main.cursor.moveToNext()) == (main.cursor.moveToLast()))

{

main.cursor.moveToFirst();

}else{

main.cursor.moveToNext();

}

check();

}

}

您需要利用Cursor类的isAfterLast和isBeforeFirst方法。 做这样的事情

case R.id.ButtonPrevious:

cursor.moveToPrevious();

if (cursor.isBeforeFirst()){

cursor.moveToLast();

}

check();

case R.id.ButtonNext:

cursor.moveToNext();

if (cursor.isAfterLast()){

cursor.moveToFirst();

}

check();

不是所有的代码,而是关键部分。 希望能有所帮助。

非常感谢男人! 您的回答就成功了!! 我在If和程序中再次使用了cursor.isLast和cursor.isFirst语句:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值