2012-01-06 5 views
0

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

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

ответ

1

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

+0

Отлично. Это то, что я хочу знать. – ppshein

2

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

1

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

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

1

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

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

Fragments - Android Developer

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