从Application中调用当前显示的片段中的函数

时间:2013-07-11 06:06:47

标签: android android-fragments android-activity

我在MainActivity中有一个片段,它显示了截至目前的加载图片,而我在MainActivity本身的XMLReader Application类中调用了一个函数。 XMLReader使用asynctask从在线服务器读取xml文件。在执行之后,我需要提醒当前显示加载图片的片段以刷新其他内容。我的问题是如何提醒当前显示的片段?或至少提醒活动,以便我可以调用不同的片段。

在某个地方读到一个广播听众会有点矫枉过正,这是我唯一的方法吗?

2 个答案:

答案 0 :(得分:1)

如果要访问viewpager中的当前可见项目:

// from activity
int position = mViewPager.getCurrentItem();
Fragment currentItem = mSectionsPagerAdapter.getItem(position);

如果要从fragment:

回调活动
// call custom method update() in activity from fragment
((MainActivity) getActivity()).update();

答案 1 :(得分:0)

如果要访问viewpager中的当前可见项目:

// from activity
int position = mViewPager.getCurrentItem();
YourFragment yourFragment = (YourFragment) mSectionsPagerAdapter.getItem(position);
yourFragment.refreshSomething();