在我的 Android Activity 中,我需要在布局中的特定位置动态(在运行时)添加单个 View 。要添加的 View 是在运行时确定的。例如,布局可能看起来像这样:
<LinearLayout ...>
<TextView ... />
<!-- Dynamic item to be added here -->
<TextView ... />
</LinearLayout>
实现这一目标的最佳方法是什么?
一种解决方案是使用 layout.addView(view, index)
,但我不希望对索引进行硬编码。
另一种解决方案是使用FrameLayout作为占位符,并在FrameLayout内放置动态 View ,例如:
<LinearLayout ...>
<TextView ... />
<FrameLayout android:id="@+id/placeholder" />
<TextView ... />
</LinearLayout>
然后:
findViewById(R.id.placeholder).addView(view);
但是,这会在层次结构中添加一个不必要的 View 。
推荐的方法是什么?
最佳答案
我认为使用 FrameLayout 作为“在运行时添加” View 的占位符是一个很好的解决方案。
我不会担心额外的“不必要” View 对性能的影响。
关于用于动态添加 View 的 Android 布局占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975520/