나는 단편을 주최하는 유일한 목적을 가진 활동이있다. Intent로이 작업을 시작한 다음 Intent의 정보를 사용하여 새 Activity에 추가하려는 Fragment에 args를 추가합니다.커밋 후 조각에서 사라 지나요?
여기는 SingleClickerActivity의 onCreate입니다 (이 활동은 의도에 의해 시작됩니다). 이 단계를 진행할 때 조각에 전달하려는 인수가 있는지 확인했습니다. Fragment has argument (this is right before the transaction step) 내가 조각을했습니다
@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()
는 null를 돌려줍니다. 번들이 터져 나왔다. 어디서 길을 잃은거야?