从可滑动选项卡视图中的活动调用片段方法

时间:2014-06-20 12:13:06

标签: java android android-fragments tabs swipe

我一直在开发一个带有标签的可滑动视图的项目。

标签以片段形式存在。我想定期从主要活动中运行片段方法。

为了运行这个方法,我不会'拥有片段的ID。我在其他帖子中读到:

 String tag = "android:switcher:" + TabActivity.this.viewPager.getId() + ":" + "0";
 Tab1Fragment fragment = (Tab1Fragment) getSupportFragmentManager().findFragmentByTag(tag);
 fragment.someMethod(); 

将返回我想要的片段,恰好是第零个或第一个标签。但是,运行此代码会返回nullpointer异常。

任何帮助将不胜感激。谢谢:))

1 个答案:

答案 0 :(得分:0)

在您的代码中,您必须拥有:

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.framelayout, new SomeXYZFragment(), "some_xyz_fragment");
ft.commit();

添加以下行:

fm.executePendingTransactions();
在行ft.commit();

之后

试试这个。它应该工作。