2016-08-20 83 views
0

我有一个活动有ArrayList加载内容,并创建数据库有onCreate()有超过20-30表。所以在显示之前加载Activity需要3秒钟的时间。我想在开始时植入一个进度条来处理该活动。这样空白屏幕就不会出现,并且屏幕可能是活的。进度条加载活动或加载按钮进度

回答

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方法中执行与任务相关的所有数据库。调用这个类中的onCreate这样

new StoreDataToDB().execute(); 

相反进度的查看您可以使用ProgressDialog也。

+0

非常感谢。它的工作和现在的应用程序很好。 –

+0

你有什么方法在按钮处理上实现它。我有一个按钮,它从数据库加载数据,它也是时间。这种方法也适用于此。?如果是,那么如何在按钮处理中使用这种方法。 –

+0

如果你想要实现的同一个类然后调用新的'StoreDataToDB()。execute();'onClick onClickListener'。或者你也可以创建不同的类并在onClickListener上调用它。 –