Android Webview avec Bouton de Retour, si d'autre

Mépris. J'ai été l'ouverture de la mauvaise application qui a été installé. Il fonctionne à merveille. 🙂

J'ai le bouton de retour de fonctionner correctement au sein de mon webview, mais je me demandais un truc.
Comment faire de la webview revenir jusqu'à ce qu'il ne peut pas, et de plus, au lieu de quitter le programme, ouvrir une boîte de dialogue vous demandant si l'utilisateur est sûr qu'ils ne seront pas à la sortie.
Voici mon point de vue sur le code.
Merci de prendre le temps.

.fichier java

package com.vtd.whatthe;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Toast;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WhatThe extends Activity {
private WebView webview;
/** Called when the activity is first created. */
public void onBackPressed (){
if (webview.isFocused() && webview.canGoBack()) {
webview.goBack();       
}
else {
openMyDialog(null);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.setWebViewClient(new HelloWebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.setInitialScale(50); 
webview.getSettings().setUseWideViewPort(true); 
webview.loadUrl("http://test2.com/");
}
private class HelloWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
public void openMyDialog(View view) {
showDialog(10);
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 10:
//Create our AlertDialog
Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit? You have unlimited guesses!")
.setCancelable(true)
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
//Ends the activity
WhatThe.this.finish();
}
})
.setNegativeButton("Keep Guessing!",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
Toast.makeText(getApplicationContext(),
"Good Luck!",
Toast.LENGTH_SHORT).show();
}
});
return builder.create();
}
return super.onCreateDialog(id);
}
}
Content de vous avoir de travail. Vous voudrez peut-être lire ce post de toute façon.

OriginalL'auteur Josh Fairbank | 2011-06-02