如何在数据库sqlite中获取数据的android中的next和prev。 我想在下面作为图像:
我想如果我点击右键,那么到下一行/文章,如果我点击左边的按钮,那么得到上一行/文章。
我需要做的更多,我刚来到这里。这是我在listview之后的当前查询。下面是我点击listview中的项目时:
查询:
public Cursor getAllCategoryItem() {
SQLiteDatabase db = this.getWritableDatabase();
String selectQuery = "SELECT * FROM myarticle";
Cursor cursor = db.rawQuery(selectQuery, null);
return cursor;
}
活动:
Cursor c = db.getAllCategoryItem();
int count = c.getCount();
int position = c.getPosition();
Log.d("MyLog", "Count: " + count + ", Position: " + position);
并获取logcat是Count:30,Position:-1;
我按下按钮prev并在菜单旁边:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.next_article) {
// what code in here ?
return true;
} else if (item.getItemId() == R.id.prev_article) {
// what code in here ?
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
感谢。
答案 0 :(得分:0)
你可以采用以下两种方式之一。
1)按顺序从DB开始获取所有项目。存储在ArrayList中。跟踪当前项目是什么,当按下任一按钮时,将索引更改为1并更新显示
2)通过WHERE子句仅获取您现在需要的项目。当用户点击按钮时,通过WHERE子句请求新项。显示新项目。
答案 1 :(得分:0)
您可以通过查询遍历Sqlite数据库中的特定ID。但这似乎很乏味。
所以做一件事。在应用程序启动时,通过游标从数据库中获取所有数据并将其存储在数组中。然后遍历数组。