如何在contentProvider类中获取mainactivity.this - 在android中

时间:2014-03-20 19:57:43

标签: java android android-sqlite android-contentprovider android-context

我在android中编写内容提供程序。我想编写查询实现。我在contentProvider的查询函数中创建了一个DbHelper对象。但是当我创建这个时,我收到的错误是我无法访问此内容提供程序类中的MainActivity.this。我需要MainActivity.this这样我就可以初始化DbHelper并在DbHelper类中使用已经实现的函数查询。我该如何解决这个问题?

代码:

public class CourseContentProvider extends ContentProvider {


    @Override
    public Cursor query(Uri arg0, String[] arg1, String arg2, String[] arg3,
            String arg4) {
        // TODO Auto-generated method stub

        if (sURIMatcher.match(arg0)==COURSE) {
            MyDbHelper obj = new MyDbHelper(MainActivity.this);//Error msg here: No enclosing instance of the type MainActivity is accessible in scope
        }
        return null;
    }
//other auto generated functions
}

感谢。

1 个答案:

答案 0 :(得分:1)

Context只在您的课程中致电getContext() {/ 1}}

示例:

ContentProvider