Android 如何访问下载的内部文件图标并将其用作可绘制文件,例如,in-setIcon(可绘制文件)

Android 如何访问下载的内部文件图标并将其用作可绘制文件,例如,in-setIcon(可绘制文件),android,Android,我下载一个png图标并将其存储在内部文件系统中。 如何以与res/drawable中的drawable类似的方式使用此图标。 我可以阅读它并拉扯它的耳朵,但是如何在setIcon()方法中使用它呢? 内部文件是否有资源id?(一厢情愿) 我注意到有人建议保存到res/raw,但您无论如何都不能写入应用程序文件夹 我一直在使用:*openFileOutput(filename,Context.MODE\u PRIVATE)* 但也许我需要创建一个文件对象,然后做一些普通的Java工作。即便如此,

我下载一个png图标并将其存储在内部文件系统中。 如何以与res/drawable中的drawable类似的方式使用此图标。 我可以阅读它并拉扯它的耳朵,但是如何在setIcon()方法中使用它呢? 内部文件是否有资源id?(一厢情愿)

我注意到有人建议保存到res/raw,但您无论如何都不能写入应用程序文件夹

我一直在使用:*openFileOutput(filename,Context.MODE\u PRIVATE)* 但也许我需要创建一个文件对象,然后做一些普通的Java工作。即便如此, 如何在我的代码中将其作为可绘制文件抓取

谢谢。

在您的情况下使用。

尝试以下方法:

Drawable drw = Drawable.createFromStream(openFileInput(filename, Context.MODE_PRIVATE));
然后,您可以在ImageView中将该可绘制文件与其setImageDrawable(drw)一起使用;方法


希望这有帮助

我已经下载了图标作为位图,但我无法访问要替换的图标的ImageView。我不能在任何ImageView上转储位图-除非您能告诉我如何在ActionBar中找到徽标的ImageView。这里有没有明显的我失踪的地方?setLogo(我的位图)?哦,我确实看到了新的位图绘制(位图)。请注意,此构造函数已被弃用。相反,您应该使用BitmapDrawable(资源res、位图)。resources对象需要进行适当的缩放。感谢一束Michal,这很有用。这是应用程序蛋糕上的糖霜。感谢arcastro的回答,它让我可以选择保存或缓存图标,然后稍后检索它以提高速度。