Android:Fragments:setContentView替代方案

时间:2011-08-04 08:50:51

标签: android android-fragments

我正在尝试使用fragments重写现有项目,以便在平板电脑上移植我的应用程序。

我正在用fragments取代活动。

问题是我不知道什么是setContentView方法的等价物?有没有办法创建Fragment's视图,除了重写onCreateView

2 个答案:

答案 0 :(得分:39)

onCreateView()方法中,您可以按如下方式返回片段视图:

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
  return inflater.inflate(R.layout.ads_tab, container, false); 
}

答案 1 :(得分:3)

我不确定为什么你不能使用onCreateView。但是你可以做到这一点。

创建LinearLayout对象,将其另存为mRooLayout成员字段,然后从onCreateView返回。您可以通过以下方式实施setContentView

void setFragmentContentView(View view)
{
    LinearLayout.LayoutParams layoutParams = 
            new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 
                                          ViewGroup.LayoutParams.FILL_PARENT);
    mRootLayout.removeAllViews();
    mRootLayout.addView(view, layoutParams);
}