我想要像 setContentView 这样的东西,但是对于我当前布局中的 FrameLayout 意味着我的 main_activity 布局中有一些控件,其中一个是 pageHolder,它是一个 FrameLayout。我在 res/layout 中添加了一个 android 布局,它也是 FrameLayout,称为 page1,另一个称为 page2。我想在应用程序运行时将 pageHolder 的内容更改为 page1 或 page2 的内容。
我执行以下代码,但它给了我错误:
FrameLayout pageHolder = (FrameLayout)findViewById(R.id.pageHolder);
FrameLayout page1 = (FrameLayout)findViewById(R.layout.page1);
pageHolder.removeAllViews();
pageHolder.addView(page1);
Run Code Online (Sandbox Code Playgroud)
它说 page1 为空,我自己检查过,它是空的。你能帮我吗?
在我看来,您应该使用LayoutInflater来增加 page1 布局。它应该是这样的:
LayoutInflater inflater = (LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.page1, null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4117 次 |
| 最近记录: |