В моем Android-действии мне нужно динамически (во время выполнения) добавить одно представление в определенную позицию в макете. Добавляемое представление определяется во время выполнения. Например, макет может выглядеть примерно так:
<LinearLayout ...>
<TextView ... />
<!-- Dynamic item to be added here -->
<TextView ... />
</LinearLayout>
Как лучше всего это сделать?
Одним из решений является использование layout.addView(view, index)
, но я бы предпочел не задавать индекс жестко.
Другим решением является использование FrameLayout в качестве заполнителя и размещение динамического представления внутри FrameLayout, например:
<LinearLayout ...>
<TextView ... />
<FrameLayout android:id="@+id/placeholder" />
<TextView ... />
</LinearLayout>
Затем:
findViewById(R.id.placeholder).addView(view);
Однако это добавляет ненужное представление в иерархию.
Какой рекомендуемый способ сделать это?