3

我有一个带有自定义 ListView 的 ListFragment。在“onCreateView”中,我正在夸大视图:View rootView = inflater.inflate(R.layout.fragment_subst, container, false);. 现在在“onActivityCreated”中,我正在设置适配器并下载一些数据,如下所示:

MyAdapter adapter = new MyAdapter(getActivity(), new GetData().execute().get());

setListAdapter(adapter);

下载需要时间,用户只能看到带有 ActionBar 的白页。这很糟糕,所以我添加了一个 ProgressDialog:

ProgressDialog dialog = ProgressDialog.show(getActivity(), "Loading...", "Please wait...", true);

MyAdapter adapter = new MyAdapter(getActivity(), new GetData().execute().get());

setListAdapter(adapter);

dialog.dismiss();

但是没有显示 ProgressDialog。究竟是什么问题?在显示对话框之前,我已经放大了视图......

谢谢!

4

2 回答 2

3

在你的 AsyncTask GetData

在onPreExecute方法中显示进度对话框

ProgressDialog dialog = ProgressDialog.show(getActivity(), "Loading...", "Please wait...", true);

并关闭onPostExecute中的对话框。

于 2013-10-04T09:42:31.397 回答
0

我之前只是修改了代码以使用创建全局变量

onPreExcute()之前

ProgressDialog dialog;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        dialog = ProgressDialog.show(getActivity(), "Loading...", "Please wait...", true);
    }

onPostExecute隐藏对话框

 @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        dialog.hide();
    }
于 2015-02-03T09:05:28.883 回答