2

我想要 setContentView 之类的东西,但对于我当前布局中的 FrameLayout,这意味着我的 main_activity 布局中有一些控件,其中一个是 pageHolder,它是 FrameLayout。我在 res/layout 中添加了一个 android 布局,它也是 FrameLayout,称为 page1,另一个称为 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为空,我自己检查过它是空的。你能帮我吗?

4

1 回答 1

5

在我看来,您应该使用LayoutInflater该 page1 布局来膨胀。它应该看起来像这样:

LayoutInflater inflater = (LayoutInflater)context.getSystemService
  (Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.page1, null);
于 2013-01-24T19:32:15.800 回答