我正在通过http://developer.android.com/training学习Android。有一个代码来添加片段
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, article_fragment).commit();
它有效,但我不能这样做
ArticleFragment articleFrag = (ArticleFragment)
getSupportFragmentManager().findFragmentById(R.id.article_fragment);
因为R.java中还没有article_fragment。我错过了什么或是错误吗?
答案 0 :(得分:3)
您应该使用容器ID ArticleFragment articleFrag = (ArticleFragment)
getSupportFragmentManager().findFragmentById(R.id.fragment_container);
或按标记查找。
答案 1 :(得分:1)
以下是使用标记的示例:
首先更改将片段添加到活动的方式,例如:
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, yourArticleFragment, "fragment_tag").commit();
然后使用上面用作参数的标签“fragment_tag”取回Fragment
:
ArticleFragment yourArticleFragment = (ArticleFragment) fm.findFragmentByTag("fragment_tag");