当前位置: 首页 > 知识库问答 >
问题:

如何从主活动调用片段方法

鲁洋
2023-03-14

我在片段类中有方法。我想从主活动中调用该方法,但不想使用FragmentById(或)FragmentByTag。

我的碎片方法:

public void setItemFromDrawer(String sourceTag, String destTag) {
    //dosomething
}

如何在不使用FragmentById(或)FragmentByTag的情况下从主活动调用上述方法?

共有3个答案

岑叶秋
2023-03-14

为了更好地解释用户5466222的答案:

YourFragmentClass fragment = new YourFragmentClass();
((YourFragmentClass) fragment).yourmethod();
后源
2023-03-14

这意味着您调用片段方法

((YourFragmentClass) fragment).Yourmethod();
太叔志尚
2023-03-14

首先创建一个界面

public interface MyInterface
{
    void myAction() ;
}

您的片段必须实现此接口。

public MyFragment extends Fragment implements MyInterface

在您的活动中,定义一个MyInterface类型的字段:

  private MyInterface listener ;

  public void setListener(MyInterface listener)
  {
     this.listener = listener ;
  }

创建并添加片段时:

setListener(myFragment);

最后,当发生要调用 Fragment 方法的条件时,只需调用:

listener.myAction() ; // this will call the implementation in your MyFragment class.
 类似资料:
  • fragment类主活动/主活动如何限制我的主活动在从片段的最后一页返回到主活动时不返回到片段的最后一页,就像我有一个主活动,单击按钮该主活动会导致另外3个活动,其中一个活动有片段。片段的最后一页指向home activity,但当我在home activity上后退时,它再次将我引导到片段的最后一页,然后我再次按下back按钮,然后我的应用程序关闭

  • 如何限制我的主要活动不返回片段的最后一页,一旦从片段的最后一页返回到主要活动,就像我有一个主活动一样,单击按钮,该主活动会导致另外3个活动,其中一个活动有片段。片段的最后一页指向home activity,但当我在home activity上后退时,它再次将我引导到片段的最后一页,然后我再次按下back按钮,然后我的应用程序关闭 我的主要活动课 公共类主页扩展应用程序活动{ } 我零星的寻呼机 公

  • 我刚接触Android,有一个带有片段的选项卡布局,我有一个编辑文本字段,它是在我的父活动中声明的,我想检查编辑文本字段是否为空,是否来自片段。我该怎么做呢?这是我做的,但它显示了错误。这是我的主要活动编辑文本字段: 这是我的片段活动: 这是我的日志:

  • 我试图从碎片屏幕调用一个活动中的方法。 我有一个名为myMethod()的方法,它位于名为MyActivity的活动中;我有一个片段叫做Screen1Fragment。 我想给我的活动打电话。从Screen1Fragment内部创建myMethod(),但我不确定如何执行此操作。 以前,Screen1Fragment是一个活动,因此我扩展了MyActivity,以便可以直接调用myMethod()

  • //使用startActivity(intent)也不起作用//无论我做什么,应用程序都会崩溃