Android типизированные элементы управления вместо findViewById - PullRequest
1 голос
/ 23 декабря 2009

Возможно ли как-то, что вместо:

Button btnNextWord = (Button) this.findViewById(R.id.btnNextWord);

Eclipse автоматически генерирует для меня что-то вроде:

Button btnNextWord = this.btnNextWord;
или
Button btnNextWord = R.id.getBtnNextWord(this);

??

Ответы [ 2 ]

0 голосов
/ 20 июля 2015

Я знаю, что это очень поздний ответ, но он может помочь тому, кто читает.

Вы можете использовать библиотеку аннотаций для Android , чтобы сделать что-то похожее на то, что вы хотите.

Как вы можете видеть на их странице, вы можете написать поле в коде так:

@ViewById
ListView bookmarkList;

Библиотека найдет элемент с идентификатором R.id.bookmarkList и приведёт его к ListView.

Или вы можете использовать аннотацию, подобную этой

@ViewById(R.id.myTextView)
TextView someName;

если вы хотите дать более точное имя полю.

ПРЕДУПРЕЖДЕНИЕ: Я никогда не использовал библиотеку, поэтому я не уверен, можете ли вы использовать только эту аннотацию или вы обязаны использовать весь их набор аннотаций.

0 голосов
/ 23 декабря 2009

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

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