gpt4 book ai didi

android - 是否可以将 View 动态添加到基于 XML 的布局?

转载 作者:行者123 更新时间:2023-11-30 04:40:56 26 4
gpt4 key购买 nike

假设我有一个简单的 XML 布局,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/my_container"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout android:id="@+id/leftContainer"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Col A - Text 1"
/>
</LinearLayout>
<LinearLayout android:id="@+id/rightContainer"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Col B - Text 1"
/>
</LinearLayout>
</LinearLayout>

然后我想在右边的Container LinearLayout中添加一个TextView。我目前正在这样做,但没有成功:

LinearLayout container = (LinearLayout) findViewById(R.id.rightContainer);
TextView textToAdd = new TextView(this);
textToAdd.setText("Col B - Text 2");
container.addView(textToAdd);

我看过 LayoutInflater,但我不确定在这里如何使用它。任何帮助将不胜感激,谢谢!如果我尝试调用 setContentView(container),我会收到强制关闭错误。

最佳答案

不要调用 setContentView(),如果您正在使用 findViewById(),那么该 View 已经在您当前设置的内容中。

添加 View 效果很好。布局 XML 只是对要创建和添加到层次结构的 View 的描述。确保在添加 View 时传递了正确的布局参数——此处由于容器是 LinearLayout,因此您需要 LinearLayout.LayoutParams。

您没有说明您的代码以何种方式“不成功”,因此很难进一步提供帮助。

您还可以使用 hierarchyviewer 查看 View 层次结构中实际发生的情况。

关于android - 是否可以将 View 动态添加到基于 XML 的布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6006958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com