1

我有一个包含多个活动的选项卡布局,从一个选项卡更改为另一个需要几秒钟(因为它需要大量数据)。在加载时,我希望出现一个指示加载的对话框。我创建了一个带有进度条的非常简单的对话框,但我不知道何时调用它以及何时关闭它。

 loading = new Dialog(FatActivity.this);
        loading.requestWindowFeature(Window.FEATURE_NO_TITLE);
        loading.setContentView(R.layout.dialog_loading);
        loading.show();

每个选项卡都显示一个活动,但如果我将它放在 onCreate() 方法中(紧随其后,所以到第一行),它不会出现,只有在活动加载后才会出现。那么我应该把它放在哪里,或者如果它是制作加载屏幕的错误方法,那么我应该怎么做呢?我正在考虑这个,因为我只需要调用它然后在 onCreate() 结束时将其关闭。而且由于它是一个标签布局,标签上没有 onclicklistener,所以我也不能使用它。

提前致谢!

4

2 回答 2

0

正如 Gtumca 所说,使用 AsyncTask,但我想向您报告 TabHost 已被弃用,因为最新版本的 android Fragments 和 FragmentActivity 已取代它。通过这种方式,您的代码变得更易于理解和划分得更好,而不是 TabHost。

于 2012-05-26T14:31:30.837 回答
0

您可以使用AsyncTask显示加载屏幕的最佳方式...

onCreate()
{
    dialog.show();
    new LoadData().execute(null);
}
--------------------------------------------------------------------------     
    private class LoadData extends AsyncTask<URL, Integer, Boolean> {
         protected Long doInBackground(URL... urls) {
             // your code to load data here <------
             return true;
         }

         protected void onPostExecute(Boolean result) {
             dialog.dismiss();
         }
     }
于 2012-05-26T14:27:44.367 回答