在Context中使用sqlite

时间:2013-06-18 18:24:13

标签: java android sqlite android-context

我有一个扩展ArrayAdapter的类(adaptadorTemas,是listView的适配器)。 我有另一个扩展SQLiteOpenHelper(sqlStuff)的类。

所以,我想从我的适配器类查询数据库,但是我收到了这个错误: 构造函数SqlStuff(AdaptadorTemas,String,null,int)未定义

Eclipse在我的SQLiteOpenHelper类中创建了一个构造函数来修复问题,但后来我得到了这个:

构造函数SQLiteOpenHelper(AdaptadorTemas,String,Object,int)未定义

我不明白发生了什么......请帮忙吗?

1 个答案:

答案 0 :(得分:1)

这里有两种解决方案:

  1. 您可以将字段private Context theContext;添加到可以存储Context的自定义ArrayAdapter子类中。然后,您可以将Activity实例或Application Context传递给构造函数。从那里,你可以调用SqlStuff(theContext, ...)来创建你的SqlStuff类。
  2. 您可以使ArrayAdapter子类成为您正在使用它的Activity的私有内部类,在与该Activity相同的java文件中定义。然后,您可以非常轻松地获取外部Activity类的实例,并使用MyActivity.this传递给SqlStuff。我在我的应用程序中更喜欢这种方法。