我有一个Sqlite数据库,我正在使用Cursor访问。我可以滚动光标并运行我的“check();”方法。我遇到的问题是当我滚过光标时。
即:在第一个条目上点击我的上一个按钮,或者在最后一个条目时按下我的下一个按钮...
我试图输入一个if语句来自动移动到正确的位置。
我要做的是,如果我在第一个位置并点击上一个按钮,我想移动到光标中的最后一个位置并继续。
此外,如果光标位于最后位置并尝试滚动,我希望它转到第一个位置。以下是我尝试实现这一目标的尝试。
@覆盖 public void onClick(查看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();
}
}
答案 0 :(得分:3)
您需要使用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();
不是所有代码,而是关键部分。希望有所帮助。