Android StackOverflowError в ViewGroup.resetResolvedTextDirection - PullRequest
7 голосов
/ 07 февраля 2012

Я только что зашел на android market, чтобы опубликовать обновление своего приложения, и заметил там несколько новых ошибок, о которых сообщалось в существующих установках.Хотя я могу понять (и попытаться что-то сделать) большинство из них, этот вызывает у меня некоторое недоумение:

java.lang.StackOverflowError
at android.view.ViewGroup.resetResolvedTextDirection(ViewGroup.java:5131)
at android.view.ViewGroup.resetResolvedTextDirection(ViewGroup.java:5131)
at android.view.ViewGroup.resetResolvedTextDirection(ViewGroup.java:5131)
at android.view.ViewGroup.resetResolvedTextDirection(ViewGroup.java:5131)
at android.view.ViewGroup.resetResolvedTextDirection(ViewGroup.java:5131)
at android.view.ViewGroup.resetResolvedTextDirection(ViewGroup.java:5131)
... this line repeats about 200 times or so ...

Это все, что есть - никакой другой информации.

Я полностью озадачен тем, с чего начать расследование.Любые идеи с благодарностью.

Ответы [ 3 ]

10 голосов
/ 07 февраля 2012

Похоже, что метод добавлен в ICS, поэтому он 4.0 и более.Глядя на код , кажется, что в вашей иерархии есть какой-то цикл просмотра, поскольку это очевидно строка child.resetResolvedTextDirection(); делает это.Другими словами, один из ваших ViewGroup классов в вашем макете каким-то образом был добавлен в качестве потомка к себе где-то вниз по линии.

1 голос
/ 27 августа 2014

Проблема в том, что вы раздуваете представление так, что inflater.inflate(R.layout.view_topic, this); и родитель этого представления все еще не виден / не отображается на сцене.

Убедитесь, что вы отображаете его после того, как родительский элемент видим, или позвоните

View child = inflater.inflate(R.layout.view_topic, null); // null will give warning but it wont throw an exception
        this.addView(child);
1 голос
/ 24 февраля 2012

Я разыскал проблему.Мне кажется, что это ошибка в Android, которая проявляется, когда для visibility явно задано значение VISIBLE, но само представление и его родительский вид не добавляются в основное представление.

Я наконец-тообошла проблему, добавив рассматриваемый ListView в XML вместо создания его в коде и переместив код setVisibility(View.VISIBLE) в после добавления всего представления в основное представление (т. е. родительскую иерархию можно проследить от каждого потомка полностьюв начало).

По крайней мере, я больше не получаю эту ошибку.

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