Android 从数据库获取下一条记录到视图中

Android 从数据库获取下一条记录到视图中,android,sql,database,button,record,Android,Sql,Database,Button,Record,我的应用程序中有两个按钮,一个用于下一个,一个用于上一个。我希望“下一步”按钮可以获取数据库中的下一条记录并在视图中显示它,而“上一步”按钮可以获取上一条记录并在视图中显示它。我将如何调用下一个或上一个记录?我找了一些教程和资料,但没有找到。我有一个教程,请与我分享。谢谢你的帮助。我希望能提供一些代码,但我真的不知道从哪里开始。我使用int从数据库中提取记录 从我的ContactView类 static long record = 1; public void getData() {

我的应用程序中有两个按钮,一个用于下一个,一个用于上一个。我希望“下一步”按钮可以获取数据库中的下一条记录并在视图中显示它,而“上一步”按钮可以获取上一条记录并在视图中显示它。我将如何调用下一个或上一个记录?我找了一些教程和资料,但没有找到。我有一个教程,请与我分享。谢谢你的帮助。我希望能提供一些代码,但我真的不知道从哪里开始。

我使用int从数据库中提取记录

从我的ContactView类

static long record = 1;

public void getData() {

    DBase db = new DBase(this);
    db.open();
    lastRecord = db.lRec();
    firstRecord = db.fRec();
    rRec = db.getRec(record);
    db.close();

}
然后我的查询来自我的Dbase类

public String[] getRec(long record) {

    record = ContactView.record;

    String[] columns = new String[] { KEY_ROWID, KEY_ONE, KEY_TWO,
            KEY_THREE, KEY_FOUR, KEY_FIVE, KEY_SIX };
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "="
            + record, null, null, null, null);
    if (c != null && c.moveToFirst()) {
        String rRec = c.getString(0);
        String rOne = c.getString(1);
        String rTwo = c.getString(2);
        String rThree = c.getString(3);
        String rFour = c.getString(4);
        String rFive = c.getString(5);
        String rSix = c.getString(6);

        String[] rData = { rRec, rOne, rTwo, rThree, rFour,
                rFive, rSix };

        return rData;

    }
    return null;
}
接下来的几个是我的ContactView课程

static long record = 1;

public void getData() {

    DBase db = new DBase(this);
    db.open();
    lastRecord = db.lRec();
    firstRecord = db.fRec();
    rRec = db.getRec(record);
    db.close();

}
我的纽扣

@Override
public void onClick(View arg0) {

    switch (arg0.getId()) {
    case R.id.bSQLvPrev:

        recordMinus();
        display();

        break;
    case R.id.bSQLvNext:

        recordPlus();
        display();

        break;

    }
}
以及他们调用的方法

public void display() {

    etSQLvRec.setText(rRec[0]);
    etSQLvOne.setText(rRec[1]);
    etSQLvTwo.setText(rRec[2]);
    etSQLvThree.setText(rRec[3]);
    etSQLvFour.setText(rRec[4]);
    etSQLvFive.setText(rRec[5]);
    etSQLvSix.setText(rRec[6]);
}

public void recordPlus() {
        record++;

    }

public void recordMinus() {
        record--;
    }
这将根据“record”变量从数据库中获取记录,并且按钮会递增或递减该记录,它还会跳过任何“空”记录

编辑好,自从我上次使用数据库以来,我改变了一些东西,所以改用下一个recordPlus()和record减号()代码

public void recordPlus() {
    if (record < lastRecord) {
        record++;
    } else {
        record = firstRecord;
    }
    getData();

    do {
        if (record < lastRecord) {
            record++;
        } else {
            record = firstRecord;
        }
        getData();
    } while (rRec == null);
}

public void recordMinus() {
    if (record == 1) {
        record = lastRecord;
    } else {
        record--;
    }
    getData();

    do {
        if (record == 1) {
            record = lastRecord;
        } else {
            record--;
        }
        getData();
    } while (rRec == null);
}