Java 在Android中动态查找片段

Java 在Android中动态查找片段,java,android,android-fragments,Java,Android,Android Fragments,除非有什么方法可以让片段捕获音量按钮,否则我正在研究这种方法 我有几个片段中的任意一个,可以在任何时候提交。在主活动中我正在捕获音量按钮向上/向下单击。我需要一些方法让主活动告诉片段点击了音量按钮 我已经并且想知道我是否可以动态地启动一个片段 ArticleFragment articleFrag = (ArticleFragment) getSupportFragmentManager().findFragmentById(R.id.article_fragment); 在上面的示例中,我需

除非有什么方法可以让片段捕获音量按钮,否则我正在研究这种方法

我有几个
片段
中的任意一个,可以在任何时候提交
。在主
活动中
我正在捕获音量按钮
向上/向下
单击。我需要一些方法让
主活动
告诉
片段
点击了
音量按钮

我已经并且想知道我是否可以动态地启动一个
片段

ArticleFragment articleFrag = (ArticleFragment) getSupportFragmentManager().findFragmentById(R.id.article_fragment);
在上面的示例中,我需要了解如何用
字符串
值替换
ArticleFragment
,并通过某种类型的
方法运行它,该方法将
返回所需的
片段

ArticleFragment articleFrag = (ArticleFragment) getSupportFragmentManager().findFragmentById(R.id.article_fragment);
否则,我会在主
活动中为每个可能的
片段创建
方法
,当
音量按钮
单击时,我会通过一个
开关
,该开关确定要调用的正确方法


您对此有何想法?

当您添加片段时,如果您添加带有标记的片段,例如

getSupportFragmentManager().beginTransaction().add(R.id.the_view_into_which_the_fragment_goes, the_fragment, "tag").commit();'
稍后您可以找到带有以下内容的标记片段

the_fragment_type frag = (the_fragment_type)getSupportFragmentManager().findFragmentByTag("tag")
或者,如果您只想使用一种方法:

((the_fragment_type)getSupportFragmentManager().findFragmentByTag("tag")).do_the_thing()

您还可以使用:-fragmentManager.findFragmentByTag(标记)@在SomeFragment方法中,我将标记设置为SomeFragment<代码>mRootview.setTag(“SomeFragment”)在我的主要活动中,我尝试像这样访问它frag2为空