Android - как проверить, существует ли объект в макете? - PullRequest
0 голосов
/ 06 января 2012

Я хочу знать, как проверить, существует ли объект в макете.

Чтобы было понятно, я хочу проверить, существует ли ListView в макете для другого разрешения экрана. Если клиентское устройство - планшет, я обработаю ListView и предприму некоторые действия. Если клиентское устройство мобильное, я проигнорирую этот ListView и установлю режим просмотра на GONE.

Ответы [ 4 ]

2 голосов
/ 06 января 2012

Вы должны определить макет по умолчанию (скажем, телефон) в / res / layout и макет планшета в / res / layout-w720dp или что-то подобное.См. здесь для получения дополнительной информации о квалификаторах для макетов.Затем вы определили свою разметку в xml и вам не нужно переходить между кодами в коде, чтобы он соответствовал разным типам экрана.

1 голос
/ 06 января 2012

Чтобы узнать, существует объект или нет, просто попробуйте найти его с помощью findViewById и сравните результат с нулевым

1 голос
/ 06 января 2012

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

Однако новый правильный способ сделать это - использовать фрагменты. Основная идея заключается в том, что вы объединяете код и макет в фрагмент и используете этот фрагмент, только если на экране есть место. Это означает, что ваш экран будет сформирован из 1 фрагмента, если телефон, и двух, если планшет, один из которых будет содержать и код для вашего listView.

Фрагменты - Android Developer

1 голос
/ 06 января 2012

Отказ от ответственности: Это ссылка на пост в моем блоге (нет рекламы).Я думаю, что это может помочь вам подумать о том, как вы строите свое приложение для работы с телефонами против планшетов.

http://damianflannery.wordpress.com/2011/10/16/architecting-a-single-apk-app-to-handle-phones-and-tablets-on-android/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...