How to add “Go Back” function in WebView inside Fragment?

前端 未结 13 2171
余生分开走
余生分开走 2020-11-27 05:21

UPDATE: Solved! Problem was related to my Viewpager not WebView.

I\'m trying to add a \"Go Back\" function to my WebView which is insid

13条回答
  •  南方客
    南方客 (楼主)
    2020-11-27 05:34

    I've created a simple interface:

    public interface IOnBackPressed {
        boolean onBackPressed();
    }
    

    in the Activity:

    public class MyActivity extends Activity {
        @Override public void onBackPressed() {
        Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.main_container);
           if (!(fragment instanceof IOnBackPressed) || !((IOnBackPressed) fragment).onBackPressed()) {
              super.onBackPressed();
           }
        }
    }
    

    in the Fragment:

    public class MyFragment extends Fragment implements IOnBackPressed {
       @Override
        public boolean onBackPressed() {
            if (webview.canGoBack()) {
                webview.goBack();
                // backpress is not considered in the Activity
                return true;
            } else {
                // activity will act normal
                return false;
            }
        }
    }
    

提交回复
热议问题