2012-06-19 59 views
1

我目前正在为android创建一个支付SDK,因此我想根据不同情况将一些图片从sdk/library项目发送到实际应用程序。我希望应用程序的用户使用drawable,但我不希望他们手动设置它(即直接从SDK的可绘制文件夹中获取它),SDK应根据不同情况自动选择要使用的图像。Android:从图书馆项目绘制到应用程序

目前我有什么是initilized当一个DAO类有类似:

case (MASTERCARD): 
    this._logo = getResources().getDrawable(R.drawable.mastercard_securecode); 

,然后在应用我想能够获取该绘制并在这样一个ImageView的使用它:

img.setImageDrawable(DAOObject.getLogo()); 

但是运行这个时,我得到

06-15 20:25:18.933:W/dalvikvm(625):VFY:无法RESOLV LPackagePath/R $ drawable中的e静态字段6(mastercard_securecode);

后跟一个空指针异常,因为由于上述错误,getLogo将返回null。

任何人都知道如何正确实现这一点,所以我没有得到上述错误,并仍然能够以这种方式实现它应用程序获取drawable动态发送这样的?

任何帮助非常感谢!

+0

switch case语句中的setter方法在哪里?有些像DAOObject.setLogo() – Venky

+0

这样的switch case语句被放置在DOAObjects构造函数中,所以我只是直接访问本地_logo变量。 – AzaraT

+0

您是否使用最新版本的Android SDK工具? – CommonsWare

回答

1

好吧,所以我终于明白了这一点。

问题确实是上下文。我需要通过从应用程序到SDK的环境,然后我可以做

context.getResources().getDrawable(R.drawable.mastercard_securecode); 

获得的图像适当其次我需要导入一个库项目的jar文件,然后在第二个库中导入图像项目,以便它自己的SDK是封闭的源码,但我仍然有可用的资源。