我有一个DbAdapter类来处理我的应用程序中的数据库内容,但由于某种原因,我无法从我创建的新类中调用它(尽管它在其他类中有效)。
我在新课程中使用的代码是:
DbAdapter mDbHelper = new DbAdapter(this);
mDbHelper.open();
它似乎不喜欢“这个”。我的DbAdapter类的代码是:
public DbAdapter (Context ctx) {
this.mCtx = ctx;
}
我确信这是一个非常愚蠢的问题,但如果有人能指出我正确的方向,那将非常感激。
非常感谢,
皮特。
答案 0 :(得分:1)
您必须是匿名内部类,因此这是引用您所在的类。
尝试
DbAdapter mDbHelper = new DbAdapter(YourActivity.this);
或在您的活动中
private Context mContext;
...onCreate(){
mContext = this;
}
然后你想要它:
DbAdapter mDbHelper = new DbAdapter(mContext );
答案 1 :(得分:1)
你在叫哪个班级
DbAdapter mDbHelper = new DbAdapter(this);
mDbHelper.open();
这?根据您的DbAdapter构造函数定义,参数必须是Context
类型。如果您从new DbAdapter(this)
调用的类不是类Context
或类Context
的子类,则它被视为无效代码。