如何像setContentView一样设置FrameLayout的内容

时间:2013-01-24 19:23:15

标签: android layout

我想要类似setContentView的东西但是对于当前布局中的FrameLayout意味着我在main_activity布局中有一些控件,其中一个是pageHolder,它是一个FrameLayout。我在res / layout中添加了一个android布局,它也是名为page1的FrameLayout和另一个名为page 2的布局。我想在应用程序运行时将pageHolder的内容更改为page1或page2的内容。

我执行以下代码,但它给了我错误:

    FrameLayout pageHolder = (FrameLayout)findViewById(R.id.pageHolder);

    FrameLayout page1 = (FrameLayout)findViewById(R.layout.page1);

    pageHolder.removeAllViews();
    pageHolder.addView(page1);

并且它说page1为null并且我自己检查了它并且它是null。你能帮帮我吗?

1 个答案:

答案 0 :(得分:4)

在我看来,您应该使用LayoutInflater来扩充该page1布局。看起来应该是这样的:

LayoutInflater inflater = (LayoutInflater)context.getSystemService
  (Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.page1, null);