我正在开发 Titanium 2.1.3 并为 iOS 和 Android 进行部署。我在 TableView 中的 Android 上的 ImageView 上显示图像时遇到问题,如果我执行诸如单击搜索栏并显示键盘之类的操作,则显示图像,或者如果我滚动 TableView,图像会出现和消失而没有明显的原因。似乎除非我在 TableView 上执行强制刷新布局的操作,否则不会呈现图像。图像在 Android 和 iOS 中的加载方式相同,如下所示:
var itemIconHolder = Titanium.UI.createView({
width : '100dp',
left : '55dp',
height : "100%"
});
var itemIcon = Titanium.UI.createImageView({
left : '0dp',
height : '100%',
});
var f = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, "thumb-" + filename);
itemIcon.image = f;
itemIconHolder.add(itemIcon);
这个问题在 iOS 中不会发生,在 iOS 设备/模拟器上,行为是正常且完美的,但在 Android 设备/模拟器上会发生。我必须在 Android 中以不同方式加载图像吗?我错过了什么吗?我希望有人能在这方面帮助我。提前致谢。
编辑
我尝试了这些方法:
itemIcon.image = f.read();
和
itemIcon.image = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, "thumb-" + filename);
但是直到我做了一些导致 TableView 以某种方式刷新的东西之前,图像仍然没有被渲染。