私は多くのガイドを読みましたが、私はまだ混乱しています。DialogFragmentをAsyncTaskクラスから呼び出す必要がありますか?
どこかに私はあなたが活動クラス内部AsyncTaskクラス内DialogFragmentを呼び出す必要がありますので、「アクティビティフロー」は、DialogFragmentによって中断されるべきではないと読みました。
他のガイドでは、AsyncTaskを使用せずにActivityクラスからDialogFragmentが呼び出されていました。
だから私の質問です:DialogFragmentはAsyncTaskクラスを介してのみ呼び出す必要がありますか?
これまでのやり方です。 Activityクラスコード:
public class LunchActivity extends AppCompatActivity {
....
public void callDialog(){
class ShowInfoToUser extends AsyncTask<Bundle, Void, Bundle> {
...
@Override
protected Bundle doInBackground(Bundle... args) {
...
}
@Override
protected void onPostExecute(Bundle resultBundle) {
DialogFragment permissionDialogManager= permissionDialogManager.newInstance(messageBundle);
permissionDialogManager.show(activity.getSupportFragmentManager(), "Permission Dialog");
}
}
}
これはDialogFragmentを拡張するクラスです。
public class PermissionDialogManager extends DialogFragment {
public static PermissionDialogManager newInstance(Bundle bundle) {
PermissionDialogManager frag = new PermissionDialogManager();
frag.setArguments(bundle);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
...
}
}
ダイアログがユーザーを中断するように、私はANにそれを置くための理由を見ない