Java androidsql查询问题
我正在Android中执行标准SQL查询:Java androidsql查询问题,java,sql,android,sqlite,Java,Sql,Android,Sqlite,我正在Android中执行标准SQL查询: String selection = "SELECT phraseA, phraseB FROM TableXYZ"; Cursor c1; c1 = myDbHelper.myDataBase.rawQuery(selection,null); c1.moveToNext(); while(!c1.isLast()){ toplist.add("Phrase:
String selection = "SELECT phraseA, phraseB FROM TableXYZ";
Cursor c1;
c1 = myDbHelper.myDataBase.rawQuery(selection,null);
c1.moveToNext();
while(!c1.isLast()){
toplist.add("Phrase: "+c1.getString(0)+" "+c1.getString(1);
c1.moveToNext();
}
c1.close();
该表非常小,返回的stirngs数不到40。Toplist是一个ArrayList。它被放在一个列表视图中。据我所知,这应该显示40ish字符串。现在,出现的情况是显示了字符串,但随后又出现了一堆空的ListView字段。我不知道怎么做。我认为我的迭代可能是错误的,但我找不到错误。你不是总是跳过最后一个结果吗?我想你需要:同时!c1.isAfterLast以防止跳过最后一项 此外,此行还有语法错误:
toplist.add("Phrase: "+c1.getString(0)+" "+c1.getString(1);
您缺少一个角色
至于您的问题,您没有显示足够的代码来真正了解问题所在。您确定没有在代码的其他某个点向ArrayList添加任何空值吗?这里显示的是如何填充数组列表,而不是如何填充ListView。显示您的ListView代码
在这一步之后,附加调试器以查看ArrayList包含的内容,查看错误是在代码的这一部分还是在其他地方,这也是相当简单的。或者,即使将ArrayList大小打印到LogCat也会有助于调试此功能。这并不能回答您的问题,但。。。你为什么不使用SimpleCursorAdapter?我很难为情地说答案已经找到了。我把桌子搭得很糟。即使我选择的两列大小相等,其他列的大小也大得多,这就是空白的原因。太简单了!我现在要羞愧地低下头来。不过,谢谢你的帮助!