我有一个包含多个活动的tablayout,从一个标签更改为另一个标签需要几秒钟(因为它需要大量的数据)。在加载时我想要一个指示加载的对话框。我用进度条创建了一个非常简单的对话框,但我不知道何时调用它以及何时将其解除。
loading = new Dialog(FatActivity.this);
loading.requestWindowFeature(Window.FEATURE_NO_TITLE);
loading.setContentView(R.layout.dialog_loading);
loading.show();
每个选项卡都会显示一个活动,但是如果我将它放在onCreate()方法中(紧跟在它之后,那么第一行),它只会在加载活动之后出现。那么我应该把它放在哪里,或者如果它是一个错误的方法来制作加载屏幕那么我应该怎么做呢?我正在考虑这个问题,因为我只需要调用它然后在onCreate()的末尾解除它。由于它是一个tablayout,因此标签上没有onclicklistener,因此我也无法使用它。
提前致谢!
答案 0 :(得分: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();
}
}
答案 1 :(得分:0)
正如Gtumca所说使用AsyncTask,但我想报告你已经弃用了TabHost,因为最新版本的android Fragments和FragmentActivity取代了它。 通过这种方式,您的代码变得更易于理解,而且分为TabHost。