我有一个DbAdapter类来处理应用程序中的数据库内容,但是由于某种原因,我无法从我创建的新类中调用它(尽管它在其他类中也可以使用)。

我在新类中使用的代码是:

DbAdapter mDbHelper = new DbAdapter(this);
        mDbHelper.open();


它似乎不喜欢“ this”。我的DbAdapter类的代码是:

    public DbAdapter (Context ctx) {
    this.mCtx = ctx;
}


我敢肯定这是一个愚蠢的问题,但是如果有人能指出我正确的方向,将不胜感激。

非常感谢,

皮特

最佳答案

您必须是匿名内部类,因此它引用了您所在的类。
尝试

DbAdapter mDbHelper = new DbAdapter(YourActivity.this);

或在您的活动中
private Context mContext;

...onCreate(){
      mContext = this;
 }

那你想要吗:
DbAdapter mDbHelper = new DbAdapter(mContext );

08-27 16:18