我使用IconDialog库为我的 ImageView 设置一个图标,用户将设置它们。该库将返回一个 Drawable 对象。当我没有数据库时,我使用这个库没有问题,因为我只是调用了 setDrawable 函数并将返回的可绘制对象传递给它,但现在我想将此可绘制对象的引用存储到数据库,但我在 Drawable 中找不到任何方法.class 来获取可绘制对象或其他内容的引用,但我在库中找不到任何返回任何引用的函数。任何想法?
3 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
您可以使用Resource.getIdentifier
int imgId = res.getIdentifier(resourceName, "drawable", context.getPackageName());
达令说
TA贡献1821条经验 获得超6个赞
对于所有使用该库并与我有同样问题的人。我通过探索图书馆代码找到了答案。有一个名为Icon的类,IconDialog返回该变量的实例。由于 Icon 的构造函数是私有的,您无法从该类实例化,因此您应该首先将它们转换为Drawable,然后将这些Drawable转换为Bitmap。
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
我想你的意思是你想在你的 SQLite 数据库中存储一个 Drawable ?你可以去
val icon = BitmapFactory.decodeResource(this.resources, R.drawable.minus_vector_black)
val stream = ByteArrayOutputStream()
icon.compress(Bitmap.CompressFormat.PNG, 100, stream)
val iconAsByteArray = stream.toByteArray()
然后将其作为 BLOB 保存到数据库中
添加回答
举报
0/150
提交
取消