如何在片段中获取上下文?
我需要用我的数据库其构造函数采用的背景下,但getApplicationContext()并FragmentClass.this没有工作,所以我能做些什么?
数据库构造函数
public Database(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
Run Code Online (Sandbox Code Playgroud) 我找到了一个答案似乎说我应该创建一个单独的类并创建一个静态MyApplication对象并创建一个get方法.然后任何类都可以调用MyApplication.get()来检索上下文.
还有其他清洁方式吗?这是我的情况:
我有一个A类和一个B类.A类包含一个B类对象(让我们调用对象b).在课程AI调用中,"b.play()".但是,我得到一个空指针异常,因为类B需要将一个上下文传递给MediaPlayer.create()方法.
到现在为止,我把一个黑客和来自AI的类叫起来......"b.play(this)"并简单地将上下文传递给B.然而,这非常丑陋,看起来像是对OOP的糟糕使用.
有什么想法吗?