Android:查找动态生成的片段

Android:查找动态生成的片段,android,android-fragments,Android,Android Fragments,我正在通过学习Android。有一个代码可以添加片段 getSupportFragmentManager().beginTransaction() .add(R.id.fragment_container, article_fragment).commit(); 这是可行的,但我做不到 ArticleFragment articleFrag = (ArticleFragment) getSupportFragmentManager().f

我正在通过学习Android。有一个代码可以添加片段

getSupportFragmentManager().beginTransaction()
                .add(R.id.fragment_container, article_fragment).commit();
这是可行的,但我做不到

ArticleFragment articleFrag = (ArticleFragment)
            getSupportFragmentManager().findFragmentById(R.id.article_fragment);

因为R.java中还没有article_片段。我是缺少了什么还是有bug?

您应该使用容器id ArticleFragment articleFrag=ArticleFragment
getSupportFragmentManager.findFragmentByIdR.id.fragment_容器;或者按标记查找。

您应该使用容器id ArticleFragment articleFrag=ArticleFragment
getSupportFragmentManager.findFragmentByIdR.id.fragment_容器;或按标记查找。

以下是使用标记的示例:

首先更改将片段添加到活动的方式,例如:

getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, yourArticleFragment, "fragment_tag").commit();
然后使用上面用作参数的标记Fragment_标记返回片段:

ArticleFragment yourArticleFragment = (ArticleFragment) fm.findFragmentByTag("fragment_tag");

以下是使用标记的示例:

首先更改将片段添加到活动的方式,例如:

getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, yourArticleFragment, "fragment_tag").commit();
然后使用上面用作参数的标记Fragment_标记返回片段:

ArticleFragment yourArticleFragment = (ArticleFragment) fm.findFragmentByTag("fragment_tag");

现在说它不能将android.support.v4.app.Fragment转换为com.example.myapplication.articleframent。这意味着这是来自支持库的函数?内置库的等效功能是什么?ArticleFragment扩展了android.support.v4.app.Fragment或android.app.Fragment?我假设android.app.Fragment函数是getFragmentManager,并对其进行了编译,但现在我发现MyApp已停止工作。您应该使用android.support.v4.app.Fragment。这是针对旧android平台的实现。当您使用getSupportFragmentManager时,您应该使用其他支持片段api,如android.support.v4.app.fragment您可以轻松地从android.app更改为android.support.v4.app。appNow说它无法将android.support.v4.app.fragment转换为com.example.myapplication.articlefgment。这意味着这是来自支持库的函数?内置库的等效功能是什么?ArticleFragment扩展了android.support.v4.app.Fragment或android.app.Fragment?我假设android.app.Fragment函数是getFragmentManager,并对其进行了编译,但现在我发现MyApp已停止工作。您应该使用android.support.v4.app.Fragment。这是针对旧android平台的实现。当您使用getSupportFragmentManager时,您应该使用其他支持片段api,如android.support.v4.app.fragment您可以轻松地从android.app更改为android.support.v4.app