Ответ 1
Как вы можете видеть в doc:
Конец не происходит немедленно; это будет запланировано как работа на основной поток, который будет выполнен в следующий раз, когда поток будет готов.
почему вы не видите свой фрагмент сразу после commit().
Я использую пакет поддержки v4.
mFragmentManager = getSupportFragmentManager();
FragmentTransaction ft = mFragmentManager.beginTransaction();
ft.add(R.id.fragContainer1, new ModelListFragment(), FRAG_MODEL_LIST);
ft.add(R.id.fragContainer2, new TrimListFragment(), FRAG_TRIM_LIST);
ft.commit();
Fragment fragment = mFragmentManager.findFragmentByTag(
MainActivity.FRAG_MODEL_LIST);
Log.d("MY", "found fragment: " + (fragment != null));
Всегда возвращает "найденный фрагмент: false". Мне не хватает чего-то действительно очевидного здесь, что это такое?
Как вы можете видеть в doc:
Конец не происходит немедленно; это будет запланировано как работа на основной поток, который будет выполнен в следующий раз, когда поток будет готов.
почему вы не видите свой фрагмент сразу после commit().
Я согласен с Roosmaa,
executePendingTransactions
после того, как commit()
работает отлично.