나는 보통의 수단을 통해 활동을 시작 했어 :CreateView() 번들을 조각화합니다. 그거 어디서 났어?
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment currentFragment = fragment;
currentFragment.setArguments(getIntent().getExtras());
transaction.replace(R.id.singlePane, currentFragment);
transaction.commit();
오른쪽 간단한데 : 때이 활동은로드
Intent startIntent = new Intent(this, DualPaneActivity.class);
startIntent.putExtras(((SearchPageFragment) currentFragment).getPageState());
startActivity(startIntent);
, 그것과 같이 프레임에 조각을 배치? 위의 예에서
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// Fill state information
Bundle bundle;
if(savedInstanceState != null) bundle = savedInstanceState; // 1
else if(getArguments() != null) bundle = getArguments(); // 2
else bundle = getActivity().getIntent().getExtras(); // 3
setPageState(bundle);
}
, 내가 밖으로 일했다 :
그러나, 당신이 할 수는 onCreateView() 메소드 액세스의 내부에 별도의 세 가지 번들 (당신이 포함하는 경우 네는 하나가 조각의 onCreate(Bundle savedInstanceState)
가에 포함) 시행 착오에서 내가 원하는 번들은 두 번째 것이고 에서 가져온 것입니다.
제 생각에 getActivity().getIntent().getExtras();
의 세 번째 것은 실제로 활동을 포함하기 시작한 의도에서 번들을 호출합니다. 나는 또한 실험에서 savedInstanceState
이 항상 null 인 것으로 보입니다. 하지만 어디에서 오는가 왜가 null입니까? 여기에 주어진
savedInstanceState null이 아닌 경우,이 조각은 이전에 저장된 상태에서 을 다시 구성되고 :
documentation이 말한다.
그게 도움이되지 않습니다. 그것은 나를 계속 움직이는 것보다 나를 괴롭 히고 있습니다. 누군가가이 성가심으로 나를 도울 수 있습니까?