ここに私が欲しいものがあります:
FragmentActivity は、最初に Fragment1 を示し、次に Fragment2 を示します。各フラグメントは次のことを行う必要があります。
- データをダウンロードする前にカスタム進行状況ダイアログを表示する
- インターネットからデータをダウンロードする
- ダイアログを閉じる
- 取得したデータをビューに入力する
FragmentActivity と子 Fragments は、新しい Fragment を表示する必要があるときにアクティビティ メソッドを呼び出します。
public class ActivityInTab extends FragmentActivity {
public void navigateTo(Fragment newFragment) {
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.frameLayout, newFragment);
ft.addToBackStack(null);
ft.commit();
}
}
フラグメントの代わりにアクティビティを使用した場合、次のように記述します。
public class MyActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceStage){
super.onCreate();
setContentView(R.layout.main);
showDialog();//Show ProgressDialog here
startFetchingData();
}
private void startFetchingData(){
new DownloadDataTask().execute(...);
}
private class DownloadDataTask extends AsynkTask<...>{
protected void onPostExecute(...){
populateViewsWithDownloadedData();
hideDialog();//dismiss ProgressDialog
}
}
}
この手順では、どの Fragment ライフサイクル コールバックを使用する必要がありますか?