2016-01-22 46 views
1

我是鈦應用程序開發新手。我正在使用ListView製作視頻的標題列表。當我點擊一個項目時,特定的視頻播放正常。但是,當我在Android中按下後退按鈕時,應用程序將退出而不是返回到之前的視頻列表。我已經試過android:回到androidback事件的窗口卻仍然一樣。我應該如何解決這個問題?順便說一句,我使用的合金框架,鈦Android Appcelerator視頻播放器Android上的後退按鈕

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> 

後退按鈕退出應用程序,不會返回到上一個屏幕。

回答

1

感謝您的幫助很大@suraj和@victor,但我想它已經出來了。

它不工作的原因是因爲我只在模擬器中測試它,而不是在真實的設備上測試它。當我在真實設備上運行它時,android的「後退按鈕」實際上工作正常。它會停止我的視頻並返回到上一個屏幕。

我們真的應該在真實設備上測試,而不是依靠模擬器。祝你有美好的一天! :)

1

設置您的第二個窗口爲true的模型屬性。

<SecondWindow class="container" modal="true"></SecondWindow> 

還設置模式和exitOnClose你的第一個窗口上真正的,如果你想關閉該應用程序時,用戶按下機器人回到你的第一個屏幕上。

<FirstWindow class="container" modal="true" exitOnClose></FirstWindow > 

有沒有爲它添加android:back事件。

希望這將幫助你

0

另一種可能的解決方案是 取消androidback事件的bubbling effect

$.media.addEventListener('androidback', function(e) { 
    e.cancelBubble = true; 
    [...Your logic here...] 
}