Android & Фрагменты - PullRequest
       5

Android & Фрагменты

2 голосов
/ 24 февраля 2012

Чтобы сократить, я представлю вам абстрактную версию моей проблемы, поэтому у меня есть: - 1 Activity, 1 main.xml с 1 FrameLayout в качестве контейнера (ID = main_container) - Фрагмент A, B (A немного сложнее)

Я могу вставить любой фрагмент A или B в main_container без каких-либо проблем. Я также могу сделать какой-нибудь фрагмент, заменив B, A, B, A (когда я делаю последний обмен, он терпит неудачу!) Или A, B, A (снова это терпит неудачу на последнем)

Чтобы дать вам представление о моих навыках работы с Android, я всегда делаю:

 FragmentX newX = FragmentX.newInstance(..); 
 FragmentTransaction ft ..
 ft.replace(R.id.main_container, newX);
 //ft.addToBackStack(null);
 ft.commit();

Итак, ошибка, которую я получаю:

"E/AndroidRuntime(2559): android.view.InflateException: Binary XML file line #7: Error inflating class fragment
...
E/AndroidRuntime(2559):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664)"

Что-то не так с этим подходом? Вам нужно перерабатывать фрагменты, потому что, как вы видите, я всегда использую статический метод newInstance ()? Или вы думаете, проблема в другом?

==== ОБНОВЛЕНИЕ ==== Оказывается, моя ситуация была такой: фрагмент A (сложный :)) раздул фрагмент_A.xml, который содержал внутри 2 тега фрагмента, для которых я определил 2 класса фрагмента ..

В любом случае я сделал модификацию, удалив 2 тега фрагмента из фрагмента _A.xml и используя 2 тега include ... и используя только один большой класс фрагмента: (.

И теперь это работает просто отлично, но, на мой взгляд, предыдущая форма работала хорошо.

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