如何在Android WebView中包含BACK键
我在这个网站、谷歌和另一个安卓论坛上到处寻找答案,但我找不到一个有效的 我试图在我的Android WebView应用程序中包含BACK键,因为否则BACK键将退出活动如何在Android WebView中包含BACK键,android,webview,Android,Webview,我在这个网站、谷歌和另一个安卓论坛上到处寻找答案,但我找不到一个有效的 我试图在我的Android WebView应用程序中包含BACK键,因为否则BACK键将退出活动 @Override public void onBackPressed() { } 我是Android新手,所以我不知道如何编程。 有人能给我指一下正确的方向吗 谢谢 在活动中截取后退按钮,如下所示 public class MyWebActivity extends Activity { WebView webv
@Override
public void onBackPressed() {
}
我是Android新手,所以我不知道如何编程。
有人能给我指一下正确的方向吗
谢谢 在
活动中截取后退按钮,如下所示
public class MyWebActivity extends Activity {
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Other code here
webview = new WebView(this);
}
// Other methods here
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
在截取活动
中的后退按钮的第9部分中解释如下
public class MyWebActivity extends Activity {
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Other code here
webview = new WebView(this);
}
// Other methods here
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
在的第9部分中进行了解释,例如,我正在通过Android在我的WebView中捕捉URL
在中,您的方法应覆盖以下内容:
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
webView.getUrl();
if( url.equals("http://any.com/url") ){
//Do any action
Toast tr =Toast.makeText(WebViewTest.this, "Test Passed", Toast.LENGTH_LONG);
tr.show();
//Go to other activity or you can put finish(); to stop the actual activity
//Do other action
Intent i1 = new Intent("com.mypack.courses.Passed");
startActivity(i1);;
return true;
}
if( url.equals("http://any.com/url") ){
Toast tr =Toast.makeText(WebViewTest.this, "Test Failed", Toast.LENGTH_LONG);
tr.show();
Intent i2 = new Intent("com.mypack.courses.Failed");
startActivity(i2);
return true;
}
return true;
}
在这种情况下,如果用户在“”中单击http://any.com/url“在Webview上,我们可以做任何动作,只需输入你的条件或方法,无论你想在那里做什么,希望这能给你一些想法……例如,我正在通过Android在我的Webview中捕捉下一个URL
在中,您的方法应覆盖以下内容:
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
webView.getUrl();
if( url.equals("http://any.com/url") ){
//Do any action
Toast tr =Toast.makeText(WebViewTest.this, "Test Passed", Toast.LENGTH_LONG);
tr.show();
//Go to other activity or you can put finish(); to stop the actual activity
//Do other action
Intent i1 = new Intent("com.mypack.courses.Passed");
startActivity(i1);;
return true;
}
if( url.equals("http://any.com/url") ){
Toast tr =Toast.makeText(WebViewTest.this, "Test Failed", Toast.LENGTH_LONG);
tr.show();
Intent i2 = new Intent("com.mypack.courses.Failed");
startActivity(i2);
return true;
}
return true;
}
在这种情况下,如果用户在“”中单击http://any.com/url“在Webview上,我们可以执行任何操作,只需输入您的条件或方法,无论您想在哪里执行,希望这能为您提供想法……在您的活动中覆盖onbackpressed
@Override
public void onBackPressed() {
}
如果您不想在back press上关闭活动,则只需删除super.onBackPressed(),这将不允许您完成活动,并且您的活动将在backpress上正常工作,而无需关闭。在活动中覆盖onBackPressed
@Override
public void onBackPressed() {
}
如果您不想在back press上关闭活动,则只需删除super.onBackPressed(),这将不允许您完成活动,并且您的活动将在backpress上正常工作,而不关闭。已回答:已回答:我对此有问题,但它看起来应该可以工作。当我将此代码放入活动时,您提供的代码的webview部分会出现错误。我尝试使用WebViewClient和MyWebViewClient使其工作(它们都已在我的代码中),但它所做的只是在.canGoBack()和.goBack()上给我另一个错误。有人有什么想法吗?@SMOKE:你看过我在回答中链接的教程了吗?在我上面的代码摘录中,webview
是webview
类的一个实例,而不是WebViewClient
。在我的回答中查看我编辑的代码示例。它不再给我错误,但在测试应用程序后,它不起作用:(我添加了我的.Java活动供您查看。可能我的代码中有其他错误吗?更新:出于某种原因,我放在该网站上的活动代码被删除了。)(我对此有一个问题,但它看起来应该可以工作。当我将此代码放入“活动”时,您提供的代码的webview部分出现错误。我尝试使用WebViewClient和MyWebViewClient使其工作(它们都已在我的代码中),但它所做的只是在.canGoBack()和.goBack()上给我另一个错误。)。有人有什么想法吗?@SMOKE:你看过我在回答中链接到的教程吗?在我上面的代码摘录中,webview
是webview
类的一个实例,而不是WebViewClient
。请在我的回答中查看我编辑的代码示例。它不再给我错误,但在测试应用程序后,它不起作用:(我添加了我的.Java活动供您查看。可能我的代码中有其他错误吗?更新:由于某种原因,我放在这个网站上的活动代码被删除了。)(