SetImageBitmap在Android中不起作用

时间:2013-04-19 17:51:26

标签: android image

我正在为Android开发一个应用程序,我正在使用Gallery小部件,我已将其调整为全屏模式,因此它一次显示一个图像。

<com.example.librosapp.MyGallery 
        android:id="@+id/examplegallery" android:layout_width="1920px"
        android:layout_height="1020px"
        android:padding="0px"
        android:layout_marginTop="-20px"
        />

这是我的活动代码的一部分:

public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imgView = new ImageView(cont);

        //Here are my changes:
        File imgFile = new  File("sdcard/Libreria/0/0/0.JPG");
        if(imgFile.exists()){
            Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
            //The app runs OK til here:
            imgView.setImageBitmap(myBitmap);
            //BOOM! Exception
        }           

        imgView.setLayoutParams(new MyGallery.LayoutParams(1950, 1000));
        imgView.setScaleType(ImageView.ScaleType.FIT_XY);


        return imgView;
    }

我不知道我得到了哪个异常,因为我无法在这里调试,我在我的设备中使用.APK。 (我必须调试它的唯一方法是使用虚拟设备,而且我知道为什么它运行得非常慢。

我做错了吗?如果我使用相同的图片,那么代码就可以完美,但作为项目资源(使用setImageDrawable)

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为myBitMap为空。 myBitMap为null,因为文件路径无效。我的猜测是文件路径应为/sdcard/Libreria/0/0/0.JPG