[英]How to show confirm alert when Android Back button is pressed?
我想在Android上按下后退按鈕時在Webview頁面上實施警報。 我應該使用什么代碼?
我在view1.js中寫了下面的代碼,但是在未顯示Android警報的后退按鈕時,它只是轉到主屏幕:
$.webview1.url=Alloy.Globals.baseurl;
if(Ti.Platform.osname=='android'){
$.webview1.enableZoomControls=false;
}
$.webview1.addEventListener('androidback',function(e){
// show alert
alert("Do you want to exit?");
dialog.show();
});
但是它不起作用。 有什么辦法嗎?
看一下這個:
$.index.addEventListener('androidback', function(e) {
if ($.webview1.canGoBack())
$.webview1.goBack();
else
alert('open alert');
});
嘗試這個:
//create window
var window = Titanium.UI.createWindow();
//create webview
var webview = Titanium.UI.createWebView({
height : Ti.UI.FILL,
width : Ti.UI.FILL,
url : 'http://stackoverflow.com/'
});
//add webview
window.add(webview);
//add event listener
window.addEventListener('androidback', function(e) {
alert('open alert');
});
window.open();
文檔: http : //docs.appcelerator.com/titanium/3.0/#!/api/Titanium.UI.Window-event-androidback
WebView
沒有單擊android的后退按鈕的事件,但是Window
卻有,因此這就是它不顯示警報對話框的原因。
您在dialog.show();
也有另一個錯誤dialog.show();
,我看不到該對話框的初始化,並且您恰好在此對話框之前調用了alert。 alert
不需要調用任何要顯示的內容,但AlertDialog
可以,並且讓用戶看到標題而不是單詞alert更好,因此,如果可以處理用戶,請始終使用AlertDialog
。
嘗試以下代碼:
index.xml文件:
<Alloy>
<Window id="win" onAndroidback="showExitDialog">
<WebView id="webView" url="http://www.google.com" />
</Window>
<AlertDialog id="dialog" onClick="dialogClicked" title="Exit"
message="Sure to exit?" cancel="1">
<ButtonNames>
<ButtonName>Confirm</ButtonName>
<ButtonName>Cancel</ButtonName>
</ButtonNames>
</AlertDialog>
</Alloy>
index.js文件應如下所示:
$.win.open();
function showExitDialog() {
$.dialog.show();
}
function dialogClicked(e) {
if(e.index == 0) { // If the user clicked confirm
$.win.close(); // Close the window or do whatever you want here
}
}
我建議閱讀文檔,所有內容都在其中,請檢查WebView , Window和AlertDialog文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.