我需要动态创建框架布局和周围布局。使用FragmentManager,您必须使用布局的标识符来添加片段。

动态创建布局时,它没有标识符。

FrameLayout frameLayout = new FrameLayout(this);
MyFragment fragment = new MyFragment();

getSupportFragmentManager()
                .beginTransaction()
                .add(R.id.??????, fragment)
                .commit();


我在这里挣扎。我可以即时生成一个标识符并用frameLayout.setId()分配它吗?还有其他选择吗?

最佳答案

是的,一种选择是使用frameLayout.setId()。为此,您可以在ids.xml文件中定义一个ID,以获取正确的ID。另请参阅:http://developer.android.com/guide/topics/resources/more-resources.html#Id

另一个选择是只有一个XML布局文件,其中只有一个具有ID的FrameLayout,然后将其膨胀并使用在那里定义的ID。

两种方法都可以使用R.id.xxx

关于android - 如何将 fragment 添加到动态创建的FrameLayout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24678304/

10-12 02:39