无法从Android中的非活动类访问drawable中的图像

时间:2016-10-26 18:09:18

标签: android drawable android-context

我创建了一个Android库项目,我正在使用我的Android应用程序进行链接。在图书馆项目的drawable文件夹中,我添加了一些图像。现在我尝试从同一项目中的非活动类访问这些图像,但当我尝试使用以下代码段访问它们时,它们不被访问

Drawable drawable=context.getResources().getDrawable(R.drawable.image);

R文件的导入正确,并且正在R文件中正确生成图像ID。背景是正确的。我多次尝试刷新和清理/构建项目,但似乎没有任何工作。

帮助!

2 个答案:

答案 0 :(得分:0)

[注意:从here复制的答案。]

是的,如果您知道图书馆的包裹名称,则可以 Resources.getIdentifier(...)

你可以这样做:

getResources().getIdentifier("res_name", "res_type", "com.library.package");

例如:

R.id.settings将是:

getResources().getIdentifier("settings", "id", "com.library.package");

答案 1 :(得分:0)

我不确定我完全理解这个任务(你遇到的问题是该方法没有返回一个drawable?

我不确定你是如何获得上下文的,但你可以试试这个:

Drawable drawable = ContextCompat(getContext(), R.drawable.image);

如果要将上下文存储在变量中,则可以传递变量而不是使用getContext()

此外,您用于获取drawable的方法已被删除,因此您不应再使用它。

让我知道它是否对你有所帮助,并记得赞成/选择这个作为正确的答案,如果确实如此,欢呼。