【问题标题】:How call method in Fragment from FragmentTabHost如何从 Fragment TabHost 调用 Fragment 中的方法
【发布时间】:2026-01-18 05:10:01
【问题描述】:

我有一个带有 FragmentTabHost 的活动(从 AppCompatActivity 扩展)。在这个活动的 onCreate 中,我做了类似的事情:

mTabHost = (FragmentTabHost)findViewById(R.id.tabhostReporte); mTabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator("Labores", ContextCompat.getDrawable(this, R.drawable.pala_azul)),Fragment_Labores.class, null);
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("Empleados", ContextCompat.getDrawable(this,R.drawable.people)), Fragment_Empleados.class, null);

我需要从活动中调用 Fragment_Labores 和 Fragment_Empleados 中的一个方法,但我不知道如何.. 我的意思是,阅读其他人说 getSupportFragmentManager().findFragmentByTag("tab2") 但返回 null。

【问题讨论】:

    标签: android android-fragments fragment-tab-host


    【解决方案1】:

    您在 TabHost.newTabSpec 中添加的“标签”实际上并不是与片段关联的标签(这太有意义了)。

    不幸的是,在不创建一些自定义类的情况下,检索您正在寻找的内容的最简单方法可能是类似于 'getSupportFragmentManager().findFragmentByTag( "android:switcher:" + R.id.pager + ":" + mViewPager.getCurrentItem())'

    【讨论】: