我的主要Activity启动一个新的Activity(WebView)。这只是一个页面。但是当我点击“后退”按钮时......出现白屏?

时间:2010-02-15 00:27:13

标签: java android webview android-intent

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);
}
}

这是我对WebView的新活动。当用户点击回来时,我只想关闭此活动并返回到我之前的活动。注意,我把“onKeyDown” - >完成。

然而,它不起作用。相反,我点击“返回”,出现一个空白的白色屏幕..(当我尝试调试时,它甚至没有点击onKeyDown语句)!

当我第二次“返回” 时,它将返回到我之前的活动。

1 个答案:

答案 0 :(得分:0)

我修好了。 你必须这样做:

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