我一直在开发应用程序,我有两项活动.
第一个活动被叫第二个获得下载网址.
在OnActivityResult函数中,第一个Activity.there是一个ProgressDialog
这表明使用该URL的图像下载状态.
问题是该活动中未显示进度对话框.
protected void onActivityResult(int requestCode, int resultCode, Intent imagePicked)
{
super.onActivityResult(requestCode, resultCode, imagePicked);
if(resultCode==RESULT_OK)
{
ProgressDialog progressDialog=ProgressDialog.show(this, "", "Loading Image");
switch(requestCode)
{
case CharacterSelector.GetFaceBookImage:
//Toast.makeText(this, "onFacebookimageresult", Toast.LENGTH_SHORT).show();
String ImageUrl=imagePicked.getStringExtra("DownloadLink");
WebService getImage=new WebService(ImageUrl);
Log.d("Selected Img url", ""+ImageUrl);
InputStream inputStream;
try
{
inputStream = getImage.getHttpStream(ImageUrl);
getImage=null;
Bitmap bitmap=BitmapFactory.decodeStream(inputStream);
inputStream=null;
mybitmapDrawable=new BitmapDrawable(bitmap);
addImageUserImage(mybitmapDrawable.mutate());
progressDialog.dismiss();
bitmap=null;
}
catch (IOException e)
{
//Show server Error message:
e.printStackTrace();
}
break;
问候,
Kariyachan
最佳答案:
您不应该在主线程上执行长时间运行的任务(即通过网络获取图像),因为这会阻止UI重绘.
使用AsyncTask在后台执行长时间运行的任务,同时更新UI.