मेरे AsyncTask ब्लॉक बटन तत्व ब्लॉक कर रहा है, जबकि छवि को डाउनलोड करने और प्रगति संवाद देरी के साथ दिखाया गया है - पहले छवि में दिखाया गया है थोड़ी देर के लिए अपने शो, लेकिन डाउनलोड लंबा समय लगता है और बटन अवरुद्ध है (नारंगी) और संवाद नहीं दिखाया गया है।AsyncTask ब्लॉक यूआई धागा और देरी के साथ शो प्रगतिबार
public Bitmap download(String url, ProgressBar progressbar) throws InterruptedException, ExecutionException {
BitmapDownloaderTask task = new BitmapDownloaderTask(progressbar);
task.execute(url);
return task.get();
}
class BitmapDownloaderTask extends AsyncTask<String, Void, Bitmap> {
public BitmapDownloaderTask(ProgressBar progressbar) {
}
@Override
protected void onPreExecute() {
dialog = new ProgressDialog(ShowActivity.this);
dialog.setMessage("Loading");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
}
@Override
protected Bitmap doInBackground(String... Params) {
return imageLoader.getBitmap(params[0]);
}
@Override
protected void onPostExecute(Bitmap bitmap) {
dialog.dismiss();
}
}
बटन श्रोता में, बस डाउनलोड फ़ंक्शन को कॉल करें, क्योंकि मैं imageView में प्रगति बार चक्र है प्रगति पैरामीटर है - संवाद केवल परीक्षण, क्यों देरी और ब्लॉक है पाया करने के लिए है। किसी अन्य ऐप्स में मैं runable का उपयोग करें और थ्रेड और तत्व अवरुद्ध नहीं है, लेकिन ट्यूटोरियल में AsyncTask इस के लिए बेहतर समाधान के रूप में उल्लेख किया है।
के भीतर इस यह करने के लिए सही तरीका है छवि का उपयोग करने की जरूरत है, इस लिंक की जाँच करें: http: //www.android-ios-tutorials.com/ 182/शो-प्रगतिबार-while-डाउनलोड छवि का उपयोग कर-asynctask में एंड्रॉयड/ – Houcine