java - 当我使用 FragmentPagerAdapter 将 fragment 添加到 Activity 中时,如何从 Activity 中调用 fragment 方法?

标签 java android android-fragments android-studio-3.0

我为 MainActivity 上的滑动 View 创建了三个 fragment 。这就是为什么我使用 FragmentPagerAdapterMainActivity 上添加这些 fragment 。一切正常。现在,我在 fragment 一上创建波纹管方法。

public void myToast(String text){
Toast.makeText(getActivity(), text, Toast.LENGTH_LONG).show();
}

如何从 MainActivity 中调用/调用此方法?

注意:我不能使用 findFragmentById()findFragmentByTag() 方法,因为没有 idtag 用于那些 fragment 。

最佳答案

你可以使用这些方法 -

private static String makeFragmentName(int viewPagerId, int index) {
        return "android:switcher:" + viewPagerId + ":" + index;
    }

并访问 -

YourFragment yourfragment = (YourFragment) getSupportFragmentManager().findFragmentByTag(makeFragmentName(yourpager.getId(),the fragment number must be int /* 0, 1, 2 *\));

然后你就可以在activity中使用你fragment的方法了-

yourfragment.maketoast()

关于java - 当我使用 FragmentPagerAdapter 将 fragment 添加到 Activity 中时,如何从 Activity 中调用 fragment 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48523581/

相关文章:

java - 基本的第二个定时器实现

Android,在屏幕底部定位一个元素,固定

java - Android MapView Map V2 在 Fragment 中

java - 为什么需要处理消息的分片

android - 电子邮件 Intent 不再适用于 Android Lollipop

java - 使用 log4j 根据文件夹名称创建多个日志文件

android - org.gradle.api.ProjectConfigurationException :A problem occurred configuring root project after updated to AndroidStudio - 3. 5.3

android - ViewPager 内部 fragment 问题

java - 迭代一个类的所有对象的循环

java - XML 到 HTML 的转换