在android中显示数据库时出错

时间:2011-08-23 13:05:35

标签: android sqlite

我正在使用名为find geopoint的按钮。单击该按钮我应该去另一个活动。在该活动中,我在列表视图中显示了数据库,但是当我单击该按钮时,应用程序崩溃了。这是我的代码:

public Display (String lat,String lon,String address ,String name1)
{
   this.lat=lat;
   this.lon=lon;
   this.address=address;
   Geo_Create_Table=name1;
}

public void display()
{
    Log.d("hussain", lat);
    db=d.getReadableDatabase();
    Cursor c=db.query(Geo_Create_Table, new String[]{lat+"",lon+"",address}, null,null, null, null, null);
        if (c != null) 
        {
        c.moveToFirst(); // it's very important to do this action otherwise your Cursor object did not get work
            int lat = c.getColumnIndex("latitude"); 
            int lon = c.getColumnIndex("longitude"); 
            int add = c.getColumnIndex("address"); 
            if (c.isFirst()) 
            { 
                int i = 0; 
                /* Loop through all Results */ 
                do 
                { 
                     i++; 
                     String latitude1 = c.getString(lat); 
                     String longitude1 = c.getString(lon);
                     String add1 = c.getString(add); 

                     /* Add current Entry to results. */ 
                     results.add("" + i + ": " + latitude1 + " (" + longitude1 + ": " + add1 + ")"); 
                } while (c.moveToNext()); 
           }
        }       
        this.setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, results)); 
  }

请帮助我在两个活动之间共享数据库,称为geo_create_table

1 个答案:

答案 0 :(得分:0)

没有LogCat输出(请发布,以便我们可以查明问题),我只能猜测dresults中的一个未初始化,导致NullPointerException。这些都没有在你发布的构造函数中初始化,所以这似乎很可能。也可能是results未设置为接收String类型的对象,但我怀疑是这样。