在我的应用程序中,当我单击 Button 时,它有时会显示进度对话框,有时在单击按钮时不显示进度对话框。
异步任务代码为:
public class LoadData extends AsyncTask<Void, Void, Void>
{
ProgressDialog pd;
@Override
protected void onPreExecute()
{
pd = ProgressDialog.show(MainActivity.this, "", "Loading...");
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
LoadActivities(); // function to load data from url
}
});
return null;
}
@Override
protected void onPostExecute(Void unused)
{
pd.dismiss();
}
}
在按钮点击事件中将其称为:
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new LoadMoreData().execute(null);
}
});
最佳答案
错误的想法是你在 doInBackground
中使用了 runOnUiThreade
。只需将其从您的代码中删除即可。它解决了你的问题。
永远不要在 doInBackground 中使用任何线程。
关于android - 异步任务在按钮的单击事件上不显示进度对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11644727/