我必须下载远程图像并在ImageView中显示它。在iOS中完美运行但在Android中并不起作用。图像大小为190x190,网址正确,因为相同的网址在iOS中有效。这是我的代码:
查看:
<ScrollView id="scrollView" showVerticalScrollIndicator="true">
<Label id="titleLabel"></Label>
<ImageView id="qr"></ImageView>
<View id="codigoView">
<Label id="codigoLabel"></Label>
<Label id="numeroLabel"></Label>
</View>
<Button id="condicionesButton" onClick="condicionesAction"></Button>
<Button id="localizacionButton" onClick="localizacionAction"></Button>
<Button id="emailButton" onClick="emailAction"></Button>
</ScrollView>
风格:
"#qr":{
top: 5,
width: 190,
height: 190
}
控制器:
var qrString = args.get('qrcode');
$.qr.image = Alloy.Globals.qr_url + qrString;
$.qr.addEventListener('load', function(e){
alert('Picture loaded');
});
此警报从未显示过。
网址是:
https://api.qrserver.com/v1/create-qr-code/?size=190x190&data=&#34; akjlsdfkjalskdjfal&#34;
图像是png。
Appcelerator Q&amp; A中的question
修改
这会导致问题吗?
对于Android,如果有重定向和协议更改,则不会 跟随。例如,从http到https,反之亦然
答案 0 :(得分:0)
我已尝试实施您的示例,并且在iOS和Android上都能正常运行!
这是 index.xml (查看):
<Alloy>
<Window class="container">
<ImageView id="qr"/>
</Window>
</Alloy>
这是 index.js (控制器):
$.qr.addEventListener('load', function() {
alert('picture loaded');
});
$.qr.image = "https://api.qrserver.com/v1/create-qr-code/?size=190x190&data=akjlsdfkjalskdjfal"
$.index.open();
没有任何类型的问题:没有重定向,也没有使用协议的更改!一切似乎都没问题。
您的问题可能是因为您可以在之后添加EventListener 可以触发事件的操作!的确,如果事件“加载”了很快就被解雇了,没有什么可以听的!
即使问题不是由此引起的,请记住在事先激活事件的行之前添加EventListener !