2010-02-15 1 views
0
public class Profile extends Activity{ 
    WebView prof_webv; 
    private String selected_username; 
    private static final String INDEX = "http://14.143.227.140"; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.main); 
    prof_webv = (WebView) findViewById(R.id.mainwebview); 
    prof_webv.getSettings().setJavaScriptEnabled(true); 
    prof_webv.getSettings().setSupportZoom(false); 
    prof_webv.loadUrl(INDEX); 

} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     finish(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
} 

Ceci est ma nouvelle activité pour un WebView. Lorsque l'utilisateur clique en arrière, je veux simplement fermer cette activité et revenir à la précédente. Remarquez, je mets "onKeyDown" -> Terminer.Mon activité principale lance une nouvelle activité (WebView). C'est juste une page. Mais quand je clique sur le bouton "Retour" ... un écran blanc apparaît?

Cependant, cela ne fonctionne pas. Au lieu de cela, je clique sur "retour", un écran blanc vide apparaît .. (il ne frappe même pas cette déclaration onKeyDown quand j'essaye de le déboguer)!

Lorsque je clique sur "retour" la deuxième fois, alors il retournera à mon activité précédente.

Répondre

0

Je l'ai corrigé. Vous devez faire ceci:

private class ProfileWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView prof_webv, String url) {  
      prof_webv.loadUrl(url); 
      return true; 
     } 
    } 
Questions connexes