按下按钮时,执行任务繁重。在执行任务时单击按钮时,UI被阻止。
我想显示一个任务进度的进度条。
我该怎么做?
由于
编辑:我使用AsyncTask和progressdialog
修复了这个问题答案 0 :(得分:0)
为了不阻止UI,您可以使用单独的线程来运行其中的“繁重任务”。最好的方法是查看AsyncTask。看一下文档,当你进入“The 4 Steps”部分时,在第一步中你会看到:
onPreExecute(),在执行任务之前在UI线程上调用。 此步骤通常用于设置任务,例如通过显示 用户界面中的进度条。
Here's a tutorial怎么做。 请记住,AsyncTask不是唯一的解决方案,还有其他工具可以在后台处理“繁重任务” - 请参阅此excellent article主题(也包含代码示例)。
答案 1 :(得分:0)
使用 AsyncTask
示例:
private class LongOperation extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(String... params) {
// Put Your Code Here Which is to be executed on button Click
return "Executed";
}
@Override
protected void onPostExecute(String result) {
// Dismiss Progress Dialog here
}
@Override
protected void onPreExecute() {
// Show Progress Dialog Here
}
}
按钮点击执行:
new LongOperation.execute();