我在抽屉中有一些列表项,单击后会打开WebView
。在我的MainActivity
中,定义WebView
:
private WebView mWebView;
和onCreate()
中的
mWebView = new WebView(MainActivity.this);
点击该抽屉项目后,我将像这样打开WebView
:
setContentView(mWebView);
mWebView.loadUrl(...);
以上代码成功打开了WebView
中的URL。为了从WebView
返回,我在onBackPressed()
中尝试了以下代码:
if (mWebView.canGoBack()) {
mWebView.goBack();
}
但是什么也没发生。我还尝试将onBackPressed()
中的其他代码放入else
块中,但是每当我按回去时,else
bloc中的代码就会触发,if
部分永远不会做。因此,看来mWebView
中的onBackPressed()
没有得到认可。如何运作?
答案 0 :(得分:2)
这是我的网络视图导航的工作方式。
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
webView = new WebView(MainActivity.this);
setContentView(webView);
webView.loadUrl(...);
}
@Override
public void onBackPressed() {
if (webView != null && webView.canGoBack()) {
webView.goBack();
}
}
}
您需要在onBackPressed()
内添加后台处理程序
希望对您有帮助。