1
레이아웃이없는 조각을 사용합니다 (백그라운드에서 파일을 다운로드 함). 액티비티가 처음 생성 될 때 한 번 추가합니다. 액티비티가 처음으로 생성되면 액티비티가 스크린 오리엔테이션 후에 다시 첨부된다고 가정합니다.
활동에서 onCreate :화면 회전 후 Android 조각이 추가되지 않습니다.
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(new FragmentDownloadApp(), FragmentDownloadApp.TAG)
.commit();
} else {
if (savedInstanceState.containsKey(STATE_SELECTED_NAVIGATION_ITEM)) {
조각 onActivityCreated :
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// this is really important in order to save the state across screen
// configuration changes for example
setRetainInstance(true);
// ---- magic lines starting here -----
// call this to re-connect with an existing
// loader (after screen configuration changes for e.g!)
LoaderManager lm = getLoaderManager();
if (lm.getLoader(LOADER_DOWNLOAD_APP) != null) {
lm.initLoader(LOADER_DOWNLOAD_APP, null, mDownLoader);
}
// ----- end magic lines -----
}
그리고 오류 :
public void onPositiveClick() {
FragmentDownloadApp fragment = (FragmentDownloadApp) getSupportFragmentManager()
.findFragmentByTag(FragmentDownloadApp.TAG);
fragment.startDownload(mAppToDownload);
}
여기에 NullPointerException이 나타납니다!