我是Titanium App Development的新手。我正在使用ListView制作视频标题列表。当我点击某个项目时,特定视频播放正常。但是,当我按下Android中的后退按钮时,应用程序退出而不是返回上一个视频列表。我已经尝试了 android:back 和 androidback 窗口事件,但仍然相同。我应该怎么解决这个???顺便说一句,我正在使用钛合金框架
index.js
videos.fetch({query: 'select * from '+ videos.config.adapter.collection_name + ' where video_id = '+ vid_id});
var args;
for (var vd=0 ; vd < videos.length; vd++){
var e = JSON.parse(JSON.stringify(videos.at(vd)));
args = {
parent_id : lsn_sub,
video_data : e.video_data
};
console.log(args.video_data);
var mediaview = Alloy.createController("media", args).getView();
mediaview.open();
media.js
var parent_view = args.parent_id;
var vid_media = args.video_data;
console.log("parent source: "+parent_view);
console.log($.vid_media.url);
$.vid_media.url = vid_media ;
$.media.addEventListener('androidback', function(e){
alert("android back");
});
视图/ media.xml
<Alloy>
<Window class="container">
<VideoPlayer id="vid_media" ns="Ti.Media" ></VideoPlayer>
</Window>
后退按钮退出应用程序,而不是返回上一屏幕。
答案 0 :(得分:1)
设置第二个窗口的模型属性为真。
<SecondWindow class="container" modal="true"></SecondWindow>
如果要在用户在第一个屏幕上按回安卓时关闭应用程序,还要在第一个窗口上设置modal和exitOnClose为true。
<FirstWindow class="container" modal="true" exitOnClose></FirstWindow >
没有为它添加android:back事件。
希望这会对你有所帮助
答案 1 :(得分:1)
感谢@suraj和@victor的大力帮助,但我已经明白了。
它不起作用的原因是因为我只在模拟器中测试它,而不是在真实设备上测试它。当我在真实设备上运行时,后退按钮&#39; Android的实际工作正常。它会停止我的视频并返回上一屏幕。
我们应该在真实设备上进行测试,而不是依赖于模拟器。祝你有美好的一天! :)
答案 2 :(得分:0)
另一种可能的解决方案
是取消apple
apple
apple
hello
java
java
python
事件的bubbling effect,
androidback