我正在开发一个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;
}
}
怎么能解决这个问题?这样做的正确方法是什么?我想为此编写最好的代码,最有效的代码。
感谢。