我有一个正在使用游标访问的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语句:)