【发布时间】:2011-09-06 14:50:37
【问题描述】:
我尝试通过 FragmentManager 和 FragmentTransaction(来自 android.support.v4.app)将一个 Fragment 放入另一个 Fragment 内的 FrameLayout 中。容器片段在顶部有一个按钮和一个 TextView,在底部有一个 FrameLayout(我以编程方式创建布局,我不想因为所有这些而伤害您的眼睛)。 CreateView() 工作得很好,我无法访问容器底部的 FrameLayout 并可以通过
动态添加或删除 View@Override
public void onClick(View button) {
FrameLayout frame = (FrameLayout)findViewById(DETAIL_CONTENT_FRAME);
ImageView im = new ImageView(this);
im.setImageResource(R.drawable.test);
frame.addView(im);
}
但是当我尝试将片段而不是 ImageView 添加到 frameLayout 时,代码可以完美编译,但在调用 onClickListener() 方法后,所需的片段不会出现。我检查了片段的 onCreateView() 方法,它返回了正确的视图...
@Override
public void onClick(View button) {
ServerDialogFragment serverDialog = new ServerDialogFragment();
FragmentTransaction addDialog = getSupportFragmentManager().beginTransaction();
addDialog.add(DETAIL_CONTENT_FRAME, serverDialog);
addDialog.commit();
}
你有答案吗?
PS:我曾经尝试将片段添加到其他片段中并且它有效,但它们是仅包含 ImageViews 的简单片段。
【问题讨论】: