网页视图后退按钮

Webview Back Button

本文关键字:按钮 视图 网页      更新时间:2023-09-26

想知道如何让网络视图返回。

尝试将网络视图放回媒体,但似乎我的代码无法正常工作。不知道我是否发起了它,仍然对此感到困惑。

还有可能摆脱网络视图中的滚动条吗? 我找到了一些关于它的帖子,但仍然对如何准确地将其放入我的代码持观望态度

package com.webapp.area956;
  import android.os.Bundle;
  import android.app.Activity;
  import android.view.KeyEvent;
  import android.view.Menu;
  import android.webkit.WebView;
  import android.webkit.WebViewClient;
public class MainActivity extends Activity {


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    WebViewClient yourWebClient = new WebViewClient()
        {
           // Override page so it's load on my view only
           @Override
           public boolean shouldOverrideUrlLoading(WebView  view, String  url)
           {
            // This line we let me load only pages inside Firstdroid Webpage
            if ( url.contains("area956") == true )
               // Load new URL Don't override URL Link
               return false;
            // Return true to override url loading (In this case do nothing).
            return true;
           }
       };
    String url = "http://www.area956.com";
    WebView view = (WebView) this.findViewById(R.id.webView1);
    view.setWebViewClient(yourWebClient);
    view.getSettings().setJavaScriptEnabled(true);
    view.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    view.loadUrl(url);
}
public void onBackPressed (){
    if (WebView.canGoBack()) {
            WebView.goBack();       
    }
    else {
            super.onBackPressed();
            finish();
    }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
}

将 Web 视图作为类成员

WebView view;
@Override
public void onCreate(Bundle savedInstanceState) {

然后初始化

view = (WebView) this.findViewById(R.id.webView1);
view.setWebViewClient(yourWebClient);
view.getSettings().setJavaScriptEnabled(true);
view.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
view.loadUrl(url);

然后使用 onKeyDown

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    if ((keyCode == KeyEvent.KEYCODE_BACK) && view.canGoBack()) {
        view.goBack();
        return true;
    }
    else
    {
          finish();
          return true;
    }
}

您已在 onCreate 中声明了WebView view并在那里对其进行了初始化。所以它变成了本地的onCreate.

编辑:

您也可以使用 2.0 起的onBackPressed

http://android-developers.blogspot.in/2009/12/back-and-other-hard-keys-three-stories.html

  public void onBackPressed (){
    super.onBackPressed();
    if (view.canGoBack()) {
            view.goBack();       
    }
    else {
            finish();
    }
}