1

ここに私が欲しいものがあります:

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 ライフサイクル コールバックを使用する必要がありますか?

4

0 に答える 0