我正在创建类似Facebook Chat Heads的内容,并且需要访问Service中的FragmentManager。很多人会说我做不到,但是总有办法,所以我问你们,如何从Service中访问FragmentManager?
在我的服务中,我使用onCreate
方法:
LayoutInflater inflater = LayoutInflater.from(this);
layout = inflater.inflate(R.layout.box, null);
ViewPager pager = (ViewPager) layout.findViewById(R.id.pager);
FragmentManager fm = [HOW CAN I ACCESS THIS?];
pager.setAdapter(new MyPagerAdapter(fm));
最佳答案
不仅不可能,而且您不需要它。 Android中没有什么只能通过 fragment 来完成的。
例如,您似乎正在使用ViewPager
。您不需要使用带有ViewPager
的 fragment 。实际上,ViewPager
本身与 fragment 无关。两种具体的PagerAdapter
实现(FragmentPagerAdapter
和FragmentStatePagerAdapter
)碰巧使用了 fragment 。但是完全可以创建自己的不使用 fragment 的PagerAdapter
实现。而且,实现与PagerAdapter
一起工作的Views
所花的时间要比将某种FragmentManager
(与 Activity 生命周期密不可分的)填入Service
所花费的时间要少得多。
关于java - 如何在服务中访问FragmentManager?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24026072/