加载 Activity 或加载按钮进度的进度条
Progress Bar for loading Activity or loading a button progress
我有一个 Activity,其中 ArrayList
正在加载内容,并在 onCreate()
上创建了包含超过 20-30 个表的数据库。所以在显示之前加载 Activity 需要 3 秒。我想在开始时为 Activity 的处理植入一个进度条。让黑屏永远不会出现,屏幕很可能是活的。
你的想法很好,可以向用户显示进度条。但是为了显示你需要使用 AsyncTask.
对于这种类型的时间记录程序,始终使用 AsyncTask。它非常易于使用。像下面这样创建 Class。
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 方法中完成与任务相关的所有数据库。在 onCreate 中这样调用 class
new StoreDataToDB().execute();
您也可以使用 ProgressDialog 而不是进度条视图。
我有一个 Activity,其中 ArrayList
正在加载内容,并在 onCreate()
上创建了包含超过 20-30 个表的数据库。所以在显示之前加载 Activity 需要 3 秒。我想在开始时为 Activity 的处理植入一个进度条。让黑屏永远不会出现,屏幕很可能是活的。
你的想法很好,可以向用户显示进度条。但是为了显示你需要使用 AsyncTask.
对于这种类型的时间记录程序,始终使用 AsyncTask。它非常易于使用。像下面这样创建 Class。
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 方法中完成与任务相关的所有数据库。在 onCreate 中这样调用 class
new StoreDataToDB().execute();
您也可以使用 ProgressDialog 而不是进度条视图。