如何更改DialogFragments的显示/删除对话框和onPrepareDialog

时间:2012-08-08 15:40:12

标签: android dialog android-fragments

我正在开发一个Android项目。我需要使用Android 1.6或更高版本。

我的项目正在运行,但现在它向我展示了一些关于Dialogs的警告,比如

"The method dismissDialog(int) from the type Activity is deprecated"
"The method showDialog(int) from the type Activity is deprecated", etc.

所以我想“更新”我的项目来解决这些警告。

我已阅读并制作了一些测试项目,以了解Fragments和DialogFragment。 我创建了自己的ProgressDialog,我想在我的真实项目中使用它,但是我遇到了一些问题。

public class MyProgressDialog extends DialogFragment {

public MyProgressDialog(){

}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    Context context = getActivity();

    ProgressDialog dialog = new ProgressDialog(context);

    Resources resources = context.getResources();

        String message = resources.getText(R.string.wait).toString();

    dialog.setMessage(message);
    dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

    return dialog;
    }
}

在我的项目早期,我创建了ProgressDialog然后,在onPrepareDialog()方法中,我调用AsyncTask来连接服务器,下载数据等。然后在{{在AsyncTask中,我解除了onPostExecute并启动了新的Activity。但现在我不能这样做因为ProgressDialog已被弃用。

在Activy的onPrepareDialog上调用ActionAsyncTask

onPrepareDialog

ActionAsyncTask的onPostExecute

@Override
protected void onPrepareDialog(int id, Dialog dialog) {     
    switch(id){

        case Constants.PROGRESS_DIALOG:
                                    new ActionAsyncTask().execute();
                                    break;
    }
}

怎么能解决这个问题?这样做的正确方法是什么?我想为此编写最好的代码,最有效的代码。

感谢。

0 个答案:

没有答案