我有一个活动,其ArrayList
加载内容,并在onCreate()
上创建具有超过20-30个表的数据库。因此,在显示之前加载Activity需要3秒钟。我想在开始时植入一个进度条来处理该Activity。因此,空白屏幕永远不会出现,屏幕可能会显示。
答案 0 :(得分:0)
您的想法很适合向用户显示进度条。但是要显示您需要使用AsyncTask。
始终使用AsyncTask进行此类时间处理程序。它非常易于使用。像下面这样创建类。
public class StoreDataToDB extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressBar.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... voids) {
//Do all DB related Task Here
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressBar.setVisibility(View.GONE);
}
}
在doInBackground方法中执行与任务相关的所有数据库。像on this这样
在onCreate中调用此类new StoreDataToDB().execute();
您也可以使用ProgressDialog代替进度条视图。