Я создаю что-то вроде ListView, но я катлюсь самостоятельно, потому что я хочу делать некоторые пользовательские вещи и иметь больший контроль, чем использование ArrayAdapters.
Итак, я определил часть своего макета вXML, включая один LinerLayout внутри ScrollView.Моя цель - привязать этот Linearlayout в коде, а затем вставить дополнительные RelativeLayouts в LinearLayout, не используя XML, просто код.
Вот мой XML:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ListScroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/ListHolder"
android:layout_height="400px"
android:background="#323232"
>
<!--Here is where I want the RelativeLayouts to go... -->
</LinearLayout>
</ScrollView>
Затем в коде яя пытаюсь добавить RelativeLayouts, каждый высотой 50px, к LinearLayout, тот, что выше, имеет высоту 400px.
//The parent container - is defined above in XML.
itemContainer = new LinearLayout(context);
itemContainer = (LinearLayout)findViewById(R.id.ListHolder);
Layouts = new ArrayList<RelativeLayout>();
Layouts = LoadWithRelativeLayouts();
for(RelativeLayout listItem: Layouts){
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, 40);
listItem.setLayoutParams(params);
itemContainer.addView(listItem);
}
Каждый из макетов в массиве имеет текстовое представление в нем, котороеговорит "Тест".Когда я пошагово перебираю код, в массиве есть 10 элементов, и все текстовые представления есть, поэтому я ожидаю увидеть LinearLayout размером 400px, заполненный 10 относительными макетами один за другим, каждый с высотой 50px (и fill_parent width)читая «Тест» - но все, что я вижу, это один, как будто добавлен только один, или все они расположены друг над другом.
Получение скриншота сейчас ...