2010-11-13 2 views
0

Я пытаюсь создать приложение для Android (я новичок в мире программирования Android), и у меня возникают проблемы с созданием графического интерфейса.Вопрос о создании GUIS «динамически» на Android

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

http://img574.imageshack.us/img574/3787/mainscreen.jpg

Серая часть будет TextView, и, кроме того, черная часть будет другой TextView с несколькими линиями.

Итак, как я могу сделать, чтобы иметь несколько TextView без знания до точного числа? Я полагаю, что я не могу объявить их в layout.xml

Единственное решение, о котором я думал, это создать в макете 7 пар TextView и, когда я знаю точное число, просто использую то, что Я должен и не использовать других ... (Это плохое решение)

Что вы предлагаете?

Благодарим за ответы!

ответ

2

Вы должны создать ListView, который раздувает TextView для элементов, которые у вас есть.

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

+0

Спасибо! Я читал это и просто заметил, что я использую очень неэлегантный способ (я создавал все и скрывал заголовок, когда это было необходимо («ушел»)). Но ваше решение кажется намного лучше, хотя и более сложным, конечно. Я буду использовать этот класс в своем приложении (хм, мне нужно переписать его часть). Он работал нормально, но вам кажется лучше. Благодаря!! – davidcesarino

0

Я не знаком с Android, поэтому другие люди могут предлагать лучшие, более конкретные советы.

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

0

Ну вы можете рассмотреть этот также,

  • Создание макета таблицы в XML, дать ему идентификатор: (. R.id ....) TableLayout таблицы = (TableLayout) findViewById
  • Создание динамических TextViews с использованием: TextView day = new TextView (this); day.setText (имя дня);
  • Теперь добавьте этот текст в таблицу: table.addView (день);
  • Выполнить код для создания TextView и добавления к таблице в петле

Надеются, что это помогает ...............

Смежные вопросы