Я получаю StackOverflowError.
Если в вашей трассировке стека указан целый набор внутренних методов Android, которые, по-видимому, связаны с отрисовкой вашего пользовательского интерфейса, то ваш интерфейс слишком сложен. Используйте hierarchyviewer
и ваш эмулятор, чтобы просмотреть дерево View
/ ViewGroup
для своей деятельности и найти способы удаления слоев. Например, если ваш TabWidget
не содержит ViewFlipper
, а вместо этого вы используете Intent
для обозначения действия, которое идет на вкладке, это добавляет несколько слоев к вашей иерархии View
больше, чем просто использование Views
как содержание вкладок.
Мое общее эмпирическое правило состоит в том, чтобы стараться, чтобы иерархии моих представлений сохранялись на глубине одной цифры, измеряемой от корня до самой длинной ветви. К тому времени, когда вы доберетесь до 15 слоев, вы почти наверняка потерпите крах где-нибудь.
Если ваша ошибка StackOverflow
не связана с отображением вашего пользовательского интерфейса, вам необходимо опубликовать трассировку стека в качестве редактирования этого вопроса.