1

如何在android中实现从数据库sqlite获取数据的next和prev。我想如下图所示:

在此处输入图像描述

我想如果我单击右按钮以进入下一行/文章,如果我单击左按钮则获取上一行/文章。

我需要做的更多,我刚到这里。这是我在 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);
        }
    }

谢谢。

4

2 回答 2

0

您可以通过查询来遍历Sqlite数据库中的特定ID。但这似乎很乏味。

所以做一件事。在应用程序启动时,通过游标从数据库中获取所有数据并将其存储在数组中。然后在数组中遍历。

于 2013-02-11T05:50:11.643 回答
0

您可以通过以下两种方式之一进行操作。

1)一开始就按顺序从数据库中获取所有项目。存储在 ArrayList 中。跟踪当前项目是什么,当按下任一按钮时,将数组中的索引更改为 1 并更新显示

2)通过 WHERE 子句仅获取您现在需要的项目。当用户点击按钮时,通过 WHERE 子句请求新项目。显示新项目。

于 2013-02-11T04:42:04.233 回答