用于加载活动或加载按钮进度的进度条

时间:2016-08-20 12:52:08

标签: android multithreading progressdialog

我有一个活动,其ArrayList加载内容,并在onCreate()上创建具有超过20-30个表的数据库。因此,在显示之前加载Activity需要3秒钟。我想在开始时植入一个进度条来处理该Activity。因此,空白屏幕永远不会出现,屏幕可能会显示。

1 个答案:

答案 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代替进度条视图。