我有一个包含viewpager的片段,我无法通过调用" getActivity()"来获取活动/上下文。在任何viewpager的片段中。
我在onCreateView和onAttach中有一个有效的活动上下文,但是在我刷到viewpager中的片段后没有。我在onCreateView中创建的所有成员(需要上下文)也是null(刷卡后)。
我试图将活动存储在一个成员中,但这并没有。无论是工作还是因为可能存在内存泄漏,我都不想存储上下文。
有人可以帮我这个吗?
提前致谢!
答案 0 :(得分:0)
我解决了......
在我开始向片段添加图像的意图后,getActivity()返回null。选择图像后,方法" getItem(int position)"在我的FragmentPAgerAdapter再次调用,我在那里创建一个新的片段,所以" 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");
现在就像:
public class SectionsPagerAdapter扩展了FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { 超级(FM); }
@Override
public Fragment getItem(int position)
{
switch (position)
{
case 0: if (mFragment==null)
mFragment=new MyFragment();
return mFragment;
所以现在我回复已经创建的片段,而不是另一个片段。