我有Spinner或ListView带有标志图标和货币名称(我在sqlite中保存了 R ID,例如 R.drawable.aed 和 R.来自drawable文件夹的string.aed 和 string.xml )
然后我插入新的drawable,例如cxx.png
我的旗帜图标会移动,其中一些会随着其他图像而改变,而不是旗帜图标。如果我在手机上更新应用,就会发生这种情况如果我安装它,或删除然后安装所有工作正常。
据我所知,我的程序中的sqlite只在安装时保存 R Ids of drawables。当我添加或删除drawables或字符串时, R 会更改id数字,但在我的sqlite表中保存了旧的 R ID。
我可以尝试编写方法,每当我添加或删除新字符串和drawable时,每次都会通过增加DB_VERSION来更新sqlite中的所有 R id。 有更简单的解决方案吗?
这是我的适配器之一:
this.store.find('frameworks', includedFramework).then(function(includedFrameworkModel) {
Ember.Logger.info(includedFrameworkModel);
});
}
答案 0 :(得分:0)
要从string.xml保存String,请使用:
context.getResources().getString(R.string.value);
并保存Drawable id的用法:
String.valueOf(R.drawable.aed)
所以你的查询将是:
insertCurrency(db, CharCode.AED, 0, 1, 1, 0, 3.672950, 3.672950, context.getResources().getString(R.string.aed),String.valueOf(R.drawable.aed), 0, 1, 1);
答案 1 :(得分:0)
我找到了保存String和Drawable资源的灵活解决方案:
例如,我有 blabla.png 及其标识符 R.drawable.blabla ,
然后我在sqlite中保存String blabla 。
在我的CursorAdapter中,我使用以下方法获取 blabla 的当前标识符:
https://stackoverflow.com/a/4428288/318460
但是使用 R.drawable.class 而不是 Drawable.class 。
与String资源相同。
利润 - 它允许在不更新sqlite表的情况下更改 string.xml 中的字符串文本。