Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android上向记事本3添加下一步/后退按钮?_Android_Android Activity_Android Listview - Fatal编程技术网

如何在android上向记事本3添加下一步/后退按钮?

如何在android上向记事本3添加下一步/后退按钮?,android,android-activity,android-listview,Android,Android Activity,Android Listview,我正在尝试在NoteEdit活动(代码)上添加下一步/上一步按钮。 我已经创建了选项菜单,并在那里添加了两个按钮。在onOptionsItemSelected中,我编写了以下内容: case R.id.movie_menu_previous: Intent i = new Intent(this, MovieView.class); i.putExtra(MoviesDbAdapter.KEY_ROWID, mRowId+1); startActi

我正在尝试在NoteEdit活动(代码)上添加下一步/上一步按钮。 我已经创建了选项菜单,并在那里添加了两个按钮。在
onOptionsItemSelected
中,我编写了以下内容:

case R.id.movie_menu_previous:
        Intent i = new Intent(this, MovieView.class);
        i.putExtra(MoviesDbAdapter.KEY_ROWID, mRowId+1);
        startActivity(i);
        return true;
case R.id.movie_menu_next:
        Intent i = new Intent(this, MovieView.class);
        i.putExtra(MoviesDbAdapter.KEY_ROWID, mRowId+1);
        startActivity(i);
    return true;
mRowId = mDbHelper.getNextRecord(1, mRowId);
但问题是行的数量是有限的。所以,如果用户在最后一行按Next,我将得到FC。 我怎么知道这是第一排?最后一排?(我修改了初始代码,现在在数据库中有许多记录,但并非所有记录都显示在
列表视图中

而且,改变
populateFields
函数的逻辑并调用它而不是创建新的活动不是更好吗?

我已经覆盖了
populateFields
函数,并在那里添加了以下内容:

case R.id.movie_menu_previous:
        Intent i = new Intent(this, MovieView.class);
        i.putExtra(MoviesDbAdapter.KEY_ROWID, mRowId+1);
        startActivity(i);
        return true;
case R.id.movie_menu_next:
        Intent i = new Intent(this, MovieView.class);
        i.putExtra(MoviesDbAdapter.KEY_ROWID, mRowId+1);
        startActivity(i);
    return true;
mRowId = mDbHelper.getNextRecord(1, mRowId);
下面是getNextRecord函数的代码:

public long getNextRecord(int next, long rowId) {
    long nextRowId = 0;
    Cursor mCursor = mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID,KEY_TITLE}, KEY_TITLE + "!=\"\"", null, null, null, null);
    if (mCursor.moveToFirst()) {
        do {
            if (mCursor.getLong(mCursor.getColumnIndexOrThrow(KEY_ROWID)) == rowId) {
                if (!mCursor.move(next)) {
                    // first (-1) or last position
                    if (mCursor.getPosition() == -1) {
                        mCursor.moveToLast();
                    } else {
                        mCursor.moveToFirst();
                    }
                }
                nextRowId = mCursor.getLong(mCursor.getColumnIndexOrThrow(KEY_ROWID));
                break;
            }
        } while (mCursor.moveToNext());
    }
        mCursor.close();
    return nextRowId;
}