有一个类似的问题 https://stackoverflow.com/questions/20464273/get-the-application-context-in-fragment-in-android大多数答案建议使用在哪里getActivity()
为了获取片段的上下文,但是如果片段被分离,如何获取对活动/上下文的引用(在这种情况下,getActivity()
返回空)?
我的情况是我的片段启动一个 AsyncTask,完成后调用onSuccess()
我的片段的方法。但我的片段onSuccess()
方法需要上下文才能显示 Toast 消息或访问共享首选项。那么有没有可靠的方法来获取上下文呢?
我正在考虑的一种方法是将上下文对象传递到我的 AsyncTask 构造函数中,然后将其传回我前面提到的onSuccess()
回调方法 - 但这会导致内存泄漏吗?
(注意 - 有一个答案here https://stackoverflow.com/a/13994622/1617737这显示了如何检索当前活动,但同样,它需要有效的上下文。)
在您的片段中使用它:
private Context context;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
context = activity;
}
然后使用context
你想在哪里。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)