Intereting Posts
Отправлять широковещательный UDP, но не получать его на других устройствах Android Сканер документов для Android с использованием opencv Как связать дочернюю активность с TabHost для вызова публичной функции? Android-сервис с несколькими темами Recycliewiew Adapter и Glide – одинаковое изображение каждые 4-5 строк Большая поддержка файлов не работает на Android Модернизация пользовательского клиента для проверки подлинности WebTokens Как поместить задний стек для Activity с несколькими фрагментами? Не удалось нормализовать путь для файла «E: \ WorkSpace \ mapdemo \ app \ build \ intermediates \ mockable-Google Inc.: API Google: 21.jar ' Android / Java: HttpURLConnection не возвращает заголовки перенаправленного файла (например, на S3) Андроид отключить onclick-событие, когда ссылки на URL-адрес нажали Предупреждение о близости для местоположений, сохраненных на сервере Почему android: transcriptMode = "normal" не работает должным образом? Удаление папки на SD-карте Выход из системы Android Android SDK

Динамическое добавление содержимого в линейный макет?

Если, например, я определил корневую линейную компоновку, ориентация которой вертикальная:

Main.xml :

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" <!-- I would like to add content here dynamically.--> </LinearLayout> 

Внутри корневой линейной компоновки я хотел бы добавить несколько дочерних линейных макетов , каждая из которых ориентирована по горизонтали . Со всем этим я мог бы получить таблицу как выход.

Например, root с дочерним макетом, например:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" <!-- 1st child (1st row)--> <LinearLayout ... android:orientation="horizontal"> <TextView .../> <TextView .../> <TextView .../> </LinearLayout> <!-- 2nd child (2nd row)--> ... </LinearLayout> 

Поскольку число дочерних линейных макетов и их содержимого довольно динамично, я решил программно добавить контент в корневой линейный макет.

Как можно добавить второй макет к первому программному обеспечению, который также может установить все атрибуты макета для каждого дочернего элемента и добавить другие элементы внутри дочернего элемента?

Solutions Collecting From Web of "Динамическое добавление содержимого в линейный макет?"

В своем onCreate() напишите следующее

 LinearLayout myRoot = (LinearLayout) findViewById(R.id.my_root); LinearLayout a = new LinearLayout(this); a.setOrientation(LinearLayout.HORIZONTAL); a.addView(view1); a.addView(view2); a.addView(view3); myRoot.addView(a); 

view1 , view2 и view3 – это ваши TextView . Они легко создаются программно.

 LinearLayout layout = (LinearLayout)findViewById(R.id.layout); View child = getLayoutInflater().inflate(R.layout.child, null); layout.addView(child); 

Вы можете добиться каскадирования LinearLayout следующим образом:

 LinearLayout root = (LinearLayout) findViewById(R.id.my_root); LinearLayout llay1 = new LinearLayout(this); root.addView(llay1); LinearLayout llay2 = new LinearLayout(this); llay1.addView(llay2);