gpt4 book ai didi

android - 游标循环但只重复第一个值

转载 作者:行者123 更新时间:2023-11-30 02:08:59 24 4
gpt4 key购买 nike

我创建了一个循环来从我的游标中获取数据,但是我注意到即使它在循环(使用正确的计数)它也只显示第一个值。

int vv = 0;
if ((CR3.moveToFirst()) || CR3.getCount() !=0){


while (CR3.isAfterLast() == false) {
vendoName[vv] = CR3.getString(0);
vendoEsch[vv] = CR3.getString(1);
vendoAsch[vv] = CR3.getString(2);
vendoTag[vv] = CR3.getString(3);
vv++;
CR3.moveToNext();
}}

当我调用所有数据时(我只需要前三个记录)

ArrayList<SearchResults2> results2 = new ArrayList<SearchResults2>();
SearchResults2 sr2 = new SearchResults2();
for(int j = 0;j < 3;j++)
{

sr2.setName(vendoName[j]);
sr2.setEsch(vendoEsch[j]);
sr2.setAsch(vendoAsch[j]);
sr2.setTag(vendoTag[j]);
results2.add(sr2);
}

我正在放入一个 ListView ,当我检查时,它总是显示第一个数据。

这是我用作代码引用的示例(除了我使用数组来放置数据外,它几乎相同) http://geekswithblogs.net/bosuch/archive/2011/01/31/android---create-a-custom-multi-line-listview-bound-to-an.aspx

我是不是做错了什么,这就是为什么它只获取第一条数据的原因?

最佳答案

做这样的事情不是更容易吗(如果你不需要超过 3 个结果):

ArrayList<SearchResults2> results2 = new ArrayList<SearchResults2>();
CR3.moveToFirst();
for (i = 0; i < 3; i++) {
SearchResults2 sr2 = new SearchResults2();
sr2.setName(CR3.getString(0));
sr2.setEsch(CR3.getString(1));
sr2.setAsch(CR3.getString(2));
sr2.setTag(CR3.getString(3));
results2.add(sr2);
CR3.moveToNext();
}

我认为可能光标没有在你的 while 循环中正确地遍历你的结果,这就是为什么你的三个项目成为一个相同的结果

关于android - 游标循环但只重复第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30375745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com