我目前正在为Android创建支付SDK,因此我想根据不同情况将sdk / library项目中的一些图像发送到实际应用程序。我希望应用程序的用户使用drawable,但我不希望他们手动设置(即直接从SDK的drawable文件夹中获取),SDK应根据差异情况自动选择要使用的图像。
目前我所拥有的是一个DAO类,当它被启动时具有类似的东西:
case (MASTERCARD):
this._logo = getResources().getDrawable(R.drawable.mastercard_securecode);
然后在应用程序中我希望能够获取该drawable并在ImageView中使用它,如下所示:
img.setImageDrawable(DAOObject.getLogo());
但是在运行时我得到了
06-15 20:25:18.933:W / dalvikvm(625):VFY:无法解析LPackagePath / R $ drawable中的静态字段6(mastercard_securecode);
后跟一个nullpointer异常,因为由于上述错误,getLogo将返回null。
任何人都知道如何正确实现这一点,所以我没有得到上述错误,仍然能够以这种方式实现它,其中应用程序获得动态发送的drawable?
非常感谢任何帮助!
答案 0 :(得分:1)
好的,所以我终于弄明白了。
问题确实是Context。我需要将应用程序中的上下文传递给SDK,然后我可以通过
正确地获取图像context.getResources().getDrawable(R.drawable.mastercard_securecode);
其次我需要在库项目中导入jar文件,然后在第二个库项目中导入图像,这样它自己的SDK就是封闭源,但我仍然有可用的资源。