Android 表格布局中的加载屏幕

Android 表格布局中的加载屏幕,android,tabs,loading,Android,Tabs,Loading,我有一个包含多个活动的表格,从一个选项卡更改为另一个选项卡需要几秒钟,因为它需要大量数据。加载时,我希望出现一个对话框,指示加载。我创建了一个带有进度条的非常简单的对话框,但我不知道何时调用它,何时取消它 loading = new Dialog(FatActivity.this); loading.requestWindowFeature(Window.FEATURE_NO_TITLE); loading.setContentView(R.layout.dia

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

 loading = new Dialog(FatActivity.this);
        loading.requestWindowFeature(Window.FEATURE_NO_TITLE);
        loading.setContentView(R.layout.dialog_loading);
        loading.show();
每个选项卡都显示一个活动,但是如果我将它放在紧接着它的onCreate方法中,那么在第一行,它不会出现,只有在加载活动之后才会出现。那么我应该把它放在哪里,或者如果它是一个制作加载屏幕的错误方法,那么我应该怎么做呢?我在考虑这个问题,因为我只需要调用它,然后在onCreate结束时将其忽略。由于它是一个tablayout,选项卡上没有onclicklistener,所以我也不能使用它

提前谢谢

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

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();
         }
     }

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

这其中的哪一部分是onCreate的一部分?请注意,如果您在执行异步任务时没有像这里那样传递任何内容,则使用硬编码的null。您应该将第一种类型的AsyncTask设置为Void,语句将为just execute。我将在更大的活动中使用它,但我无法解决下一个问题:只有创建视图层次结构的原始线程才能接触其视图。有什么想法吗?