Я читал, что если нам нужно немедленно создать фрагмент, мы должны вызвать метод executePendingTransactions()
на FragmentManager
. Ну, вот что я пытаюсь сделать. Как это:onCreateView() в Fragment не вызывается сразу, даже после FragmentManager.executePendingTransactions()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.layout.fragmentContainer, new MyFragment);
fragmentTransaction.commit();
fragmentManager.executePendingTransactions();
foo(); // It is called before MyFragment's onCreateView()
}
Я хотел бы знать, почему foo()
метод вызывается ДО MyFragment
«s onCreateView()
. Как вы видите, я звоню executePendingTransactions()
в UI Thread, как и должно быть. Я вообще не возился с нитями.
Вы можете прикрепить булев для выполнения отложенного txns как этот 'логических Валу = fragmentManager.executePendingTransactions();' и видеть то, что он дает один раз Foo вызывается при отладке. – Slartibartfast
Привет, есть ли новости по этому вопросу? Я столкнулся с такой же проблемой и не могу найти решение. Если вы решили, можете ли вы поделиться решением, пожалуйста? – Haspemulator
@ Haspemulator К сожалению, нет - я, наконец, решил использовать совершенно другой подход. –