veeresh charantimath
veeresh charantimath

Reputation: 21

Go Back To Previous Page if Back is Pressed in WebView

I'm a beginner at Android Development this is my Project : I want to go back to the previous page in the WebView.

When i run the code these are the errors : 1. Error:(67, 5) error: method does not override or implement a method from a supertype 2. Error:(75, 18) error: cannot find symbol method onBackPressed() 3. Error:(70, 13) error: cannot find symbol variable view

package com.veereshc.veer.resultapp;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.view.KeyEvent;


import com.veereshc.veer.resultapp.dummy.DummyContent;
public class WebpageDetailFragment extends Fragment {

public static final String ARG_ITEM_ID = "item_id";


private DummyContent.DummyItem mItem;


public WebpageDetailFragment() {
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (getArguments().containsKey(ARG_ITEM_ID)) {

        mItem = DummyContent.ITEM_MAP.get(getArguments().getString(ARG_ITEM_ID));
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_webpage_detail, container, false);


    if (mItem != null) {
        WebView view = (WebView) rootView.findViewById(R.id.detail_area);
        view.setWebViewClient(new WebViewClient());
        view.loadUrl(mItem.url);
    }

    return rootView;
}

@Override
public void onBackPressed(){
    if(view.canGoBack()){
        view.goBack();

    }
    else
    {
        super.onBackPressed();
    }
}

}

Upvotes: 0

Views: 2807

Answers (2)

Divyang Panchal
Divyang Panchal

Reputation: 1909

use onBackPressed method like this

@Override
public void onBackPressed() {
    if (myWebView.canGoBack()) {
        myWebView.goBack();
    } else {
        super.onBackPressed();
    }
}

Upvotes: 1

SilentKnight
SilentKnight

Reputation: 14011

There are two ways of Go Back To Previous Page if Back is Pressed in WebView:
First, override onBackPressed():

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    if (webview.canGoBack()) {
        webview.goBack();
        return;
    } else {
        super.onBackPressed();
    }
}


Second, override onKeyDown:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) {
        webview.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

Upvotes: 1

Related Questions