2014-01-24 2 views
0

나는 sencha 터치 응용 프로그램을 처음 사용합니다. 나는이 응용 프로그램을 안드로이드로 변환하고 있습니다. 내 앱에서 안드로이드 장치의 뒤로 버튼을 사용하려고하지만 올바른 결과를 얻을 수 없습니다. 다음은 app.js 파일의 관련 부분입니다.android back button with sencha touch v2

launch:function(){ 
    Ext.fly('appLoadingIndicator').destroy(); 
    Ext.Viewport.add(Ext.create('Myapp.view.Main')); 
    document.addEventListener("backbutton", function(e) { 
     e.preventDefault(); 
     alert('the back key is pressed'); 
    }, false); 
}, 

위 코드는 안드로이드 장치의 뒤로 버튼을 누르기위한 콜백이 호출되는지 여부를 확인하기위한 것입니다. 그러나 불행히도 나는 경고 메시지를 볼 수 없다.
위의 코드에 적용 할 수있는 개선 사항이 있습니까?

답변

0

버튼을 다시들을 수 있다면 sencha에서 phonegap을 사용해야합니다. 이 사이트를보십시오 http://docs.phonegap.com/en/3.3.0/cordova_events_events.md.html#backbutton

+0

이미이 페이지를 읽고 이전에이 코드를 시도했지만 나에게 적합하지 않습니다. –

+0

다음 페이지에서 읽었습니다 [stackoverflow] (http://stackoverflow.com/questions/11790860/how-to-handle-device-back-button-on-sencha-touch-application). –

+0

index.html 파일에 phonegap 스크립트를 삽입해야합니다. 그 후에 장치를 듣는다. index.html 파일의 onload 이벤트를 수신하여이 코드를 내부에 씁니다. document.addEventListener ("deviceready", onDeviceReady, false); {(거짓을 }; 경보 ('뒤로 키가 눌러') "BACK 버튼"함수 (E) { e.preventDefault()) document.addEventListener} 그 후 방법 함수 onDeviceReady()를 작성 먼저 phonegap 스크립트를 초기화해야합니다. 스크립트가 성공적으로로드되면 deviceready 이벤트가 발생합니다. 이 이벤트가 끝나면 – LostMan

0

이것을 달성하기 위해 Ext.bind을 사용하는 목적을 이해하지 못합니다. 코드를

launch:function(){ 
    Ext.fly('appLoadingIndicator').destroy(); 
    Ext.Viewport.add(Ext.create('Myapp.view.Main')); 
    document.addEventListener("backbutton", Myapp.app.backKeyDown, false); 
    alert("after eventlistener"); 
}, 

backKeyDown: function(e){ 
    e.preventDefault(); 
    alert('the back key is pressed'); 
}, 

으로 변경하십시오.

[편집] :

시도 :

document.addEventListener("backbutton", function(e) { 
    e.preventDefault(); 
    alert('the back key is pressed'); 
}, false); 
+0

버튼을 다시들을 수 있습니다.이 페이지에서 읽었습니다. [android back button working] (http://stackoverflow.com/questions/11790860/how-to-handle-device-back-button-on-sencha- 터치 애플리케이션). 그런 다음 응용 프로그램에서이 코드를 구현합니다. –

+0

app.js 파일에서 suggetion 코드를 시도하고 있지만 불행히도이 솔루션은 저에게 적합하지 않습니다. 경고 ('after eventlistener') 메시지 만보십시오. –

+0

@Aubis : 어떤 종류의 설정이 이러한 작업에 필요합니까? –

0

당신은 구현할 수

당신은 내 생각 엔 당신이 당신의 콜백 범위 문제가있을 수 있다는 것입니다, 그것은 여전히 ​​작동하지 않는 말 때문에 코도바를 사용하여 안드로이드의 뒤로 버튼 기능. index.html에 다음 코드를 작성하십시오.

<script type="text/javascript" charset="utf-8"> 


    document.addEventListener("deviceready", onDeviceReady, false); 

    function onDeviceReady() { 
     alert("In device"); 
     document.addEventListener("backbutton", onBackKeyDown, false); 
    } 
function onBackKeyDown() { 
     alert("hello"); 
    } 

    </script>