У меня есть Activity, единственной целью которого является размещение фрагмента. Я начинаю это действие с намерения, а затем использую информацию из намерения, чтобы добавить аргументы во фрагмент, который я хотел бы добавить в новое действие.
Вот onCreate в SingleClickerActivity (это действие запускается Intent). Проходя через это, я убедился, что у фрагмента есть аргумент, который я хочу отправить. Фрагмент имеет аргумент (прямо перед этапом транзакции)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResId());
UUID clickerId = (UUID) getIntent().getSerializableExtra(EXTRA_CLICKER_ID);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if (fragment == null) {
fragment = createFragment(clickerId);
fm.beginTransaction()
.add(R.id.fragment_container, fragment)
.commit();
}
}
Я сделал фрагмент, у него есть пакет аргументов, и я его коммит. Однако, когда я добираюсь до фрагмента onCreate:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mClickerId = (UUID) getArguments().getSerializable(ARG_CLICKER_ID);
mClicker = ClickerBox.get(getActivity()).getClicker(mClickerId);
}
getArguments()
возвращает ноль. Пучок пукнул. Где теряется?