#android
#Android
Вопрос:
все
Недавно я использовал ADT для разработки программы Android 2.2. Программа корректно запускается в симуляторе, но при запуске на реальном компьютере возникает странная проблема.
Я использую BaseAdapter для создания MenuAdapter, он загрузит пользовательский класс с именем ViewHolder . Пользовательский класс и MenuAdapter аналогичны любому образцу BaseAdapter: ViewHolder имеют только две переменные text и image, без каких-либо кодов. MenuAdapter загружает макет меню, содержащий текстовое представление. Он назначит текстовую переменную в TextView и повторно загрузит ее как диалоговое окно предупреждения.
Затем я создаю массив, содержащий следующую переменную:
public String[] menuOptions={"Browser", "Google Map", "Camera", "Gallery", "Media Player", "Cancel", "Exit"};
После этого я использую AlertDialog.Builder().setAdapter() для создания объекта BaseAdapter и загрузки массива. Диалоговое окно предупреждения переносит набор данных. Но он выводит это:
Браузер, Карта Google, Камера, Галерея, медиаплеер, Отмена, браузер
Последнее изменение элемента случайным образом, я снова загружаю диалоговое окно оповещения, и это может получиться так:
Браузер, Карта Google, Камера, Галерея, медиаплеер, Отмена, Карта Google
Браузер, Карта Google, Камера, Галерея, медиаплеер, Отмена, Галерея
выхода нет…
Итак, я хочу знать, что происходит? Почему он не загружает все данные? Когда я сталкиваюсь с этой проблемой, я пытаюсь уменьшить массив до
public String[] menuOptions={"Browser", "Google Map", "Camera", "Gallery", "Media Player", "Cancel"};
Он отображается правильно:
Браузер, Карта Google, камера, Галерея, медиаплеер, Отмена
В классе MenuAdapter нет числовых настроек для загрузки массива, поэтому я этого не понимаю.
Комментарии:
1. Можете ли вы опубликовать код, который вы используете для загрузки ListAdapter и передать его в dialog builder?
Ответ №1:
Я нашел ответ.
В диалоговом окне отображаются неправильные данные, поскольку некоторые данные отображаются за пределами экрана. Диалоговое предупреждение отобразит их в стиле прокрутки (если вы знаете, что такое HTML и CSS, вы поймете, что я имею в виду).
Данные, которые скрываются в стиле прокрутки, будут отображаться случайным образом …… например, мой последний элемент «Exit» скрывается под экраном при загрузке, я перетаскиваю экран для просмотра, он отображает последние данные случайным образом, а не «Exit».
Я решаю это, изменяя высоту строки каждого элемента, делая их короче, заставляя их отображаться на одном экране без стиля прокрутки, и данные будут отображаться правильно.
Я не знаю, является ли это системной ошибкой или нет.