Android 在数据库中循环以填充listview

Android 在数据库中循环以填充listview,android,database,Android,Database,我正在尝试从数据库填充listview。数据库有三列row_id、lat和lon。所以我写了两种方法 public String getLat(long l){ ..... } public String getLon(long l){ ..... } 现在,在另一个Fragmentacity中,我想通过获取每个行的名称和编号来加载listview。那么,如何在另一个活动中循环遍历所有行的id呢 我试过这个。这是为了逐个加载行\u id info.open(); ArrayList&l

我正在尝试从数据库填充listview。数据库有三列row_id、lat和lon。所以我写了两种方法

public String getLat(long l){
.....
}
public String getLon(long l){
.....
}
现在,在另一个Fragmentacity中,我想通过获取每个行的名称和编号来加载listview。那么,如何在另一个活动中循环遍历所有行的id呢

我试过这个。这是为了逐个加载行\u id

info.open();
    ArrayList<String> data = info.getAllData();
    String finalR[] = info.returnRows();
    for (int i = 0; i < finalR.length; i++) {
        long m = Long.parseLong(finalR[i]);
        String flat = info.getLat(m);
        String flon = info.getLon(m);
        Log.i(flat, flon);
    }
    info.close();

但它给了我numberformatexception无效的长“null”。请帮忙。

好的,我终于明白为什么它会给我这个例外。在上面的代码中我有

 String x[] = new String[10000];

但是数据库没有包含那么多的值。我知道数据库只有两个值,所以我把它改为2,异常消失了。因此,当遇到空值时,它似乎不会停止,而是继续运行,从而生成异常。

您的数据库应该有一个单独的文件/类,每个表都应该有一个单独的类。然后您可以从任何活动调用相应的方法……我有一个单独的数据库类。这一行可能是数字格式异常的原因:long m=long.parseLong(finalR[I]);尝试记录finalR[i]Okak的值在尝试了多次之后,我最终得到的是它正在打印flat和flon的日志消息,然后它给了我相同的异常。我将上载logcat。您应该使用
cursor.getCount()
,这样每次它的大小都是正确的。您还可以避免在游标中循环,而只使用游标适配器,或您自己的由游标支持的适配器。
 String x[] = new String[10000];