我在按鈕的onclicklistener中定義了一個AsyncTask,並且一旦用戶單擊該按鈕,理想情況下進展對話框顯示,同時下載。用戶界面延遲顯示與asynctask
但是,進度對話框剛剛閃爍並在結果返回之前消失,並且按鈕在asynctask在後臺工作時獲得焦點。
有人可以幫我弄清楚我在這裏做錯了什麼嗎?代碼片段:
final ProgressDialog progressDialog = new ProgressDialog(context);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
((Button)findViewById(R.id.buttonLoginActivity)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AsyncTask<Void, Void, Void> downloadTask= new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(Void... params) {
String data = Service.getSomeData();
context.getContentResolver.notifyChange("content://some_url");
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if(progressDialog== null) return;
if(progressDialog!=null) {
progressDialog.dismiss();
progressDialog = null;
}
}
};
progressDialog.show();
downloadTask.execute();
try{
downloadTask.get();
}catch(Exception e){
e.printStackTrace();
return;
}
}
});
異步任務,我就給在這一個鏡頭! – JUL
好吧,您可能還有其他問題,但這是我第一次發現。讓我知道它是如何工作的 – codeMagic
它的工作!但是你能否讓我知道你在這裏找到的其他問題?非常感謝! – JUL