我正在使用另一个项目作为库来构建 android 项目。在库项目中,它处理所有创建方法,其他项目引用该库包含自己的资源,如图像。
库项目中有一个imageView,我想做的是将图像传递给库项目进行渲染,但是,我不能只传递id,因为两个项目都有自己的资源。我试图在子项目中制作一个Drawable,并传递给父项目,结果是nullpointerexception。
我能想到的就是传bitmap,但是不知道怎么用项目文件夹里的images来创建bitmap,因为所有的资源都是压缩的,我只能用
context.getResources()
检索资源文件。
还是有其他方法可以做到这一点?
更新:
抱歉,NullPointerException 是因为我在调用之前尝试使用 imageview
super.onCreate();
现在它没有抛出异常并且可以运行,但是imageview仍然无法显示图像。我的代码:
ImageView imageview = (ImageView) findViewById(library.R.id.imageView1);
imageview.setImageResource(R.drawable.image);
解决方案
原来我在调用之前尝试在父类中使用imageview
super.onCreate()
并且图像无法加载,因为我
setContentView()
它涵盖了父 Activity 的布局。
您可以使用下面提供的方法将位图或可绘制对象传递给超类中的图像视图,
或者在子类中创建一个imageview,然后使用libraryPath.R获取父类中的imageview。