我閱讀了很多指南,但我仍然感到困惑。應該通過AsyncTask類調用DialogFragment嗎?
某處,我讀了「活動流」不應該由一個DialogFragment被打斷,所以你應該叫DialogFragment一個的AsyncTask類內活動課內。
在其他指南中,我看到DialogFragment正在從Activity類調用而不使用AsyncTask。
所以我的問題是:應該只通過AsyncTask類調用DialogFragment?
這是我到目前爲止的方式; 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) {
...
}
}
謝謝