1

我正在创建一个 Android 应用程序来帮助演员排练剧本。用户可以从脚本中选择一个角色来排练。然后脚本将显示给用户,直到他选择的角色的第一行。当用户决定继续时,他们的当前行将出现,以及脚本的其余部分直到他们的下一行。用户可以再次继续,依此类推。

我将整个剧本存储在 SQLite 数据库中,并通过在数据库上执行查询来填充自定义 ListView。

我的问题是我们如何在数据库上执行查询,但是一旦我们找到某个项目(例如角色的名字)就停止返回项目?我将结果存储到 Cursor 中,然后使用以下方法填充 ListView:

    private void fillData() {

    mFrom = new String[] { PlayDbAdapter.KEY_CHARACTER,
            PlayDbAdapter.KEY_LINE };
    mTo = new int[] { R.id.textCharacter, R.id.textLine };

    // Now create an array adapter and set it to display using our row
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            R.layout.play_list_layout, mCursor, mFrom, mTo);

    setListAdapter(adapter);
}

如果您需要更多信息或代码,请告诉我。

谢谢!

4

1 回答 1

2

在光标中返回脚本块然后在光标中搜索演员的第一行会更有效。

另一种方法是为字符返回行“上下文”。让数据库将索引存储到行中。返回仅包含字符行的 Cursor,然后执行第二个查询,返回字符行之前和之后的 10 行。

于 2012-11-17T21:36:54.203 回答