我通过使用游标访问数据库来显示内容。目前,我通过listview通过listview访问我的内容数据。现在,我想不想回到我的列表视图而不是我希望通过顶部栏中的next和prev按钮访问下一个数据。
我知道如何使用按钮操作。现在,如何增加光标值或如何访问下一个内容。你有什么想法吗?我试过,但我没有找到实现它的逻辑。我再次回答我的问题是How can I increment the cursor value or how can I access the next content?
答案 0 :(得分:2)
您可以通过Cursor
从数据库中获取已填充的数据。但是根据逻辑依赖于通过Next
和Previous
点击事件显示多少。您可以存储lastFetchedRow
否。全局并相应地将Cursor
移至该Next
和Previous
点击事件。
在这里,我展示了一个代码段来实现Next
点击事件,这些事件可以放在onClickListener
Next
按钮内。
假设您必须一次获取十行。 lastFetchedRow
存储上次提取的行号。 moveToPostion(integer)
将光标移动到该位置。并循环到你想要的数据。
int i=0,lastFetchedRow;
Cursor cursor = db.query(....);
if (cursor != null)
{
while(i!=10)
{
if(i=0)
{
cursor.moveToPosition(lastFetchedRow)
}
cursor.moveToNext();
//Save your data in some getter & setter object
}
}
lastFetchedTow = cursor.getPosition();
答案 1 :(得分:0)
有一些事情需要加以考虑。
您可能希望将UI架构更改为Activity
- > Fragment
设置。在Activity
中,您可以进行Cursor
更改(下一个,上一个),并在附加到该活动的Fragment
中显示内容。这样可以防止必须为显示的每个页面重新运行查询。
或者,您可以使用ViewPager
来更好地实现您尝试执行的操作,同时仍然只运行一次查询。在你PagerAdapter
的{{1}}中,你会改变你的游标位置。
答案 2 :(得分:0)
您想要尝试的解决方案:
首先获得Listview的索引,然后单击该索引 这将是你的表的索引吗?
现在第二件事
通过你的1 putextra和getextra方法可以获得该索引的值..使其成为全局
2通过传递当前索引
来查找下一个和上一个索引的方法上一个或下一个按钮的点击事件调用该功能和 查询如下:
String q =“SELECT * FROM tablename WHERE id ='”+ vg;
Cursor cursor = database.rawQuery(query,null);
所以你得到下一行或上一行表 并显示数据..
别忘了用新发现的索引替换索引..