android-在FragmentTabPager中的TabHost中向Fragment发送消息
作者:互联网
我正在使用来自的FragmentTabsPager类
在我的一个应用中FragmentTabsPager包含3个片段.在我的布局中,我在左侧有一个列表,我想向FragmentTabsPager中的当前Fragment发送一条消息(onListItemClick).我很难在寻呼机中获取当前的Fragment实例.
抱歉,我知道这很模糊,但是如果有人有一个很棒的主意.
从List片段传递消息的机制很好,我可以将消息放入FragmentTabsPager类中没问题.它将消息放入TabHost内的当前Fragment中,这使我感到压力.
解决方法:
我终于找到答案了!
要将消息传递给内部片段,您只需在其中调用一个公共函数.寻找正确的片段时会出现棘手的部分!
因此,首先要获取片段,请将其添加到CustomFragmentPagerAdapter中:
public static class TabsAdapter extends FragmentPagerAdapter implements .. {
..
public Fragment findFragment(int position) {
String name = "android:switcher:" + mViewPager.getId() + ":" + position;
FragmentManager fm = ((FragmentActivity) mContext).getSupportFragmentManager();
Fragment fragment = fm.findFragmentByTag(name);
if (fragment == null) {
fragment = getItem(position);
}
return fragment;
}
然后像这样访问主要活动中的片段
CustomFragment fragment = mTabsAdapter.findFragment(1);
if(fragment != null)
fragment.customFunction(args); //<-- your custom function
请注意,我实际上对所有片段类都使用ActionBarSherlock.但这仍然可以解决您的问题.
标签:android-fragments,actionbarsherlock,android-3-0-honeycomb,android 来源: https://codeday.me/bug/20191208/2088084.html