Здравствуйте!
Подскажите, как лучше сделать.
Есть экран LinearLayout, внутри него еще LinearLayout, и в нём TextView. По сути:
aq.id(R.id.tv_type).text(type); // это вместо findViewById и setText
type!= null ? type: "");
И теперь, инициализируем контейнер
ll_type = (LinearLayout) rootView.findViewById(R.id.ll_type);
if (type==null) ll_type.setVisibility(View.INVISIBLE);
Одно поле отобразили.
Ответ
В таких случаях неплохой вариант динамически добавлять элементы в зависимости от данных, которые приехали с сервера.
Например, у нас есть некий ArrayList templates, содержащий произвольное количество объектов с данными, и есть mainLayout, куда надо добавить ваши LinearLayout с TextView.
Тогда в активити можно сделать так:
int listSize = templatesList.size();
LayoutInflater vi = getLayoutInflater();
for (int i = 0; i < listSize; ++i) {
final Template template = templates.get(i);
final View view = vi.inflate(R.layout.item, null);
mainLayout.addView(view);
TextView tvTitle = (TextView) view.findViewById(R.id.tvTitle);
tvTitle.setText(template.getTitle());
}
Сам же файл R.layout.item - это отдельный xml файл, содержащий ваш LinearLayout с TextView.
Это если данные однотипные. Если же нет, то надо смотреть уже на сами данные, каким образом можно развести их по типам.
Комментариев нет:
Отправить комментарий