我正在为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)
答案 0 :(得分:1)
这种情况正在发生,因为myBitMap
为空。 myBitMap
为null,因为文件路径无效。我的猜测是文件路径应为/sdcard/Libreria/0/0/0.JPG