У меня есть Счетчик с ArrayAdapter, который подает Значения в него. Расположение для этого просматривает, выглядит примерно так:
Проблема состоит в том, что текст должен жаждать представления, и результатом является очень очень ужасный счетчик. Как видно в снимке экрана:
(источник: janusz по janusz.de)
Я пытался передать идентификатор мой собственный TextView в Адаптер, но каждый раз счетчик нужно показать, я получаю Исключение, что идентификатор, который я предоставил, не действителен:
04-26 17:38:39.695: ERROR/AndroidRuntime(4276): android.content.res.Resources$NotFoundException: Resource ID #0x7f09003a type #0x12 is not valid
Где я должен определить TextView? В отдельном XML-файле? С окружением viewgroup?
Помогло бы мне много, если бы я видел пример инициализации адаптера и textview определения?
Ответ заключался в том, чтобы удалить отступы из определения Spinner. Каждый раз, когда я устанавливаю отступы для Spinner, текст теряет форму.
Вытягиваемый счетчик использует поле заполнения из девяти патчей, чтобы определить, где рисовать контент. Если я установил заполнение вручную, определение заполнения из поля заполнения будет отменено.
Если вы хотите установить padding в дополнение к padding box, вам нужно обернуть все внутри этого paddinbox в дополнительный контейнер Layout.
Переопределите метод getView адаптера для создания настраиваемого элемента представления списка.
View getView(int position, View convertView, ViewGroup parent) {
TextView tv = null;
if(covertView instanceof TextView) {
tv = (TextView) convertView;
} else {
tv = new TextView(this);
tv.setText("Awesome Text");
}
return tv;
}
Также, когда вы создаете адаптер, вы можете передать макет для использования для элемента, поэтому в этом случае ConvertView будет RelativeLayout или LinearLayout.