setImageViewUri不显示图片,但显示图像背景

问题描述:

File file = new File("/storage/emulated/0/BabyCareData/photo/20160229_161413.jpg"); 
if (file.exists()) { 
    views.setImageViewUri(R.id.imageAvatar, Uri.parse(file.getPath()));    
} 

我已检查路径和uri,它是正确的。 setImageViewUri不显示图片,但显示白色屏幕(背景为白色)。setImageViewUri不显示图片,但显示图像背景

+0

你必须创建位图来设置views.setImageViewBitmap()。给位图功能,而不是uri –

+0

@KhizarHayat我已经尝试使用setImageViewBitmap(),但不是知府,它只有有效 – zys

+0

你有没有给定图像的位图? –

试试这个:

File file = new File(/storage/emulated/0/BabyCareData/photo/20160229_161413.jpg); 

if(file.exists()) 
{ 

    Bitmap myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); 
    setBitmap(views,R.id.imageAvatar,myBitmap); 

} 

    private void setBitmap(RemoteViews views, int resId, Bitmap bitmap){ 
     Bitmap proxy = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(), Bitmap.Config.ARGB_8888); 
     Canvas c = new Canvas(proxy); 
     c.drawBitmap(bitmap, new Matrix(), null); 
     views.setImageViewBitmap(resId, proxy); 
    } 
+0

为什么不“setImageViewBitmap”? – zys

+0

我们不知道视图组。所以'ImageView myImage =(ImageView)findViewById(R.id.imageAvatar);'是错误 – zys

+0

检查更新回答 – Jas

试试这个:

File file = new File("/storage/emulated/0/BabyCareData/photo/20160229_161413.jpg"); 
     if (file.exists()) { 
      Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); 
      views.setImageViewBitmap(R.id.imageAvatar, bitmap);    
     } 
+0

抱歉,我犯了一个错误,我使用的是setImageViewUri,我编辑了我的问题。谢谢! – zys

+0

我更新我的答案,请参阅并尝试 –

+0

它不起作用。 – zys