Как отобразить больше данных в ListView в альбомной ориентации? - PullRequest
0 голосов
/ 11 октября 2011

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

Я обычно понимаю использование папки layout-land, но как мне заполнить данные в полях, которые имеют только одну ориентацию, а не другую?

Лучше ли устанавливать эти столбцы как "пропавшие" в портретной ориентации и заполнять поля в обеих ориентациях? Или лучше определить ориентацию в программном обеспечении, а затем заполнять эти поля, только если экран находится в горизонтальной ориентации?

Есть ли третий вариант, о котором я не знаю?

Спасибо!

1 Ответ

1 голос
/ 11 октября 2011

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

TextView tw = (TextView) findViewById(R.id.label);
if (tw != null) tw.setText("Hello, World!");

Выбери свой яд. :) Во всяком случае, я бы предпочел пойти с проверкой ориентации во время выполнения. Таким образом, ваш код будет более явным.

...