[英]How to get activity context in a viewpager's fragment if viewpager is hosted by a fragment?
我有一个包含viewpager的片段,我无法通过在任何viewpager的片段中调用“ getActivity()”来获取活动/上下文。
我在onCreateView和onAttach中具有活动的有效上下文,但是在将其刷到viewpager中的片段之后却没有。 我在onCreateView内部创建的所有需要上下文的成员都为null(刷卡后)。
我试图将活动存储在一个成员中,但是这也不起作用,并且由于可能发生内存泄漏,我也不希望存储上下文。
有人可以帮我吗?
提前致谢!
我解决了...
在我开始向片段添加图像的意图之后,getActivity()返回null。 拾取图像后,我的FragmentPAgerAdapter中的方法“ getItem(int position)”再次被调用,并且我在那创建了一个新的Fragment,因此随后对无效的片段调用了“ getActivity()”。
这就像是:
public class SectionsPagerAdapter extends FragmentPagerAdapter
{
public SectionsPagerAdapter(FragmentManager fm)
{
super(fm);
}
@Override
public Fragment getItem(int position)
{
switch (position)
{
case 0: return MyFragment.newInstance("MyFragment");
现在就像:
公共类SectionsPagerAdapter扩展FragmentPagerAdapter {公共SectionsPagerAdapter(FragmentManager fm){super(fm); }
@Override
public Fragment getItem(int position)
{
switch (position)
{
case 0: if (mFragment==null)
mFragment=new MyFragment();
return mFragment;
所以现在我要返回已经创建的片段,而不是另一个片段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.