Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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
Java androidsql查询问题_Java_Sql_Android_Sqlite - Fatal编程技术网

Java androidsql查询问题

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:

我正在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: "+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?我很难为情地说答案已经找到了。我把桌子搭得很糟。即使我选择的两列大小相等,其他列的大小也大得多,这就是空白的原因。太简单了!我现在要羞愧地低下头来。不过,谢谢你的帮助!