我怎么回去1片段每次后退按钮是pressed?片段、按钮、我怎么、pressed

2023-09-12 05:56:04 作者:早安晚安勿忘心安

我有一个片段的容器中,我已经嵌入一回功能的web视图。它工作正常的导航与设备后退按钮web视图中。然而,当我点击设备的后退按钮,退出碎片说我打开包含片段1日消息,然后片段2包含此web视图,然后我点击设备的后退按钮返回到新闻的片段,它不工作,它乌斯追溯到到应用程序的主页。下面是我使用的是code类。我不知道如何去做,做我需要编辑一些回来pressed()函数?如果是的话我怎么去了解它,或者是有办法的话(goingback)我可以创建,返回-1回到1级。任何想法?

谢谢!贾斯汀

  @燮pressLint(ValidFragment)
公共类MoneyWebViewFragment扩展片段实现OnClickListener,MainActivity.Back pressListener<片断> {

    私有静态最后弦乐SEARCH_TERM =SEARCH_TERM;
    私有静态字符串mSearchTerm;
    私人的WebView mWebview;
    私有静态MoneyWebViewFragment sUserProfileManager;


    公共布尔mIsMoneyFragment;

    公共最后静态字符串符号=符号;

    公共静态INT PIC_WIDTH = 30;
    私有静态最后弦乐SYMBOL_TYPE =symbol_type;
    公共静态最后弦乐CONTAINER_ID =container_id;
    公共静态最后弦乐TAG_Money_FRAGMENT_WEBVIEW =MoneyWebViewFragment;
    共享preferencesManager经理=共享preferencesManager.getInstance();
    私有静态字符串的URL;
    私人最终字符串username = manager.getLoginUsername();
    私人最终字符串PASSWORD = manager.getDecryptedLoginPassword();

    的LinearLayout进度;
    私有静态MoneyWebViewFragment __newInstance(最终MoneyWebViewFragment片段,最终FragmentManager经理,
            最终字符串搜索关键词,最后弦乐symbolType,诠释containerViewId,最终诠释inAnimation,最终诠释outAnimation,最终诠释popInAnimation,最终诠释popOutAnimation){

        最后的捆绑包=新包();
        bundle.putString(SEARCH_TERM,搜索关键词);
        bundle.putString(MoneyWebViewFragment.SYMBOL_TYPE,symbolType);
        bundle.putInt(MoneyWebViewFragment.CONTAINER_ID,containerViewId);
        fragment.setArguments(包);

        FragmentInfo fragmentInfo =新FragmentInfo(TransactionMethods.ADD,containerViewId);
        fragmentInfo.setAnimation(inAnimation,outAnimation);
        fragmentInfo.setPopAnimation(popInAnimation,popOutAnimation);
        fragmentInfo.setFragmentTag(TAG_Money_FRAGMENT_WEBVIEW);
        fragmentInfo.setActionBarTitle(Application.getAp presources()的getString(R.string.title_search));
        。FragmentStackManager.getInstance()transitionFragment(经理,片段,fragmentInfo);
        URL =的getURL();
        返回片段;
    }

     @覆盖
        公共无效的onCreate(包savedInstanceState){
            super.onCreate(savedInstanceState);

            捆绑包= this.getArguments();
            URL =的getURL();

            如果(捆绑!= NULL)
                mSearchTerm = getArguments()的getString(SEARCH_TERM)。

             }
     公共无效setSearchTerms(字符串sTerms){
         mSearchTerm = sTerms;
     }
    公共静态无效removeInstance(最终FragmentManager经理){
        最后MoneyWebViewFragment片段=(MoneyWebViewFragment)manager.findFragmentByTag(TAG_Money_FRAGMENT_WEBVIEW);
        如果(片段== NULL){
            返回;
        }

        最终FragmentStackManager stackManager = FragmentStackManager.getInstance();
        如果(stackManager.getTopFragment()的instanceof MoneyWebViewFragment){
            stackManager.popTopFragment();
        }
    }
    私人布尔goingBack = FALSE;
    私人布尔onBack pressClearStack = TRUE;

    公共无效setOnBack pressClearStack(布尔B){
        b onBack pressClearStack =;
    }
    公共布尔webViewSteppedBack(){
        如果(mWebview =空&安培;!&安培; mWebview.canGoBack()){
            WebBackForwardList mWebBackForwardList = mWebview.copyBackForwardList();
            串historyUrl = mWebBackForwardList.getItemAtIndex(mWebBackForwardList.getCurrentIndex() -  1).getUrl();
            mWebview.goBack();

            返回true;
        }
        返回false;
    }



    私人MoneyWebViewFragment(){
        mIsMoneyFragment = FALSE;
    }
    公共静态同步无效clearUserProfileManager(){
        sUserProfileManager =新MoneyWebViewFragment();
    }

    公共静态MoneyWebViewFragment的getInstance(){
        如果(sUserProfileManager == NULL){
            sUserProfileManager =新MoneyWebViewFragment();
        }
        返回sUserProfileManager;
    }
    公共布尔isMoneyWebViewFragment(){
        返回mIsMoneyFragment;
    }
    @覆盖
    公共布尔回pressed(最终MainActivity mainActivity){
        如果(webViewSteppedBack()){
            返回true;
        }

        如果(onBack pressClearStack){
            goingBack = TRUE;
            FragmentUtils.onBack pressedKnockFragsOffStack(mainActivity,这一点);
        }
        返回false;
    }
    私有静态字符串的getURL(){
        字符串URL =;

        最后弦乐environmentApi =共享preferencesManager.getInstance()getEnvironmentApi()。
        如果(environmentApi.equalsIgnoreCase(NetworkUtils.Apis.ALPHA)){

                URL =htt​​ps://abc.com?q="+mSearchTerm+"userAgent=android;



        }

         返回URL;
    }


    私有静态MoneyWebViewFragment __newInstance(最终MoneyWebViewFragment片段,最终FragmentManager经理,
            最终字符串搜索关键词,最后弦乐symbolType,诠释containerViewId){

        返回__newInstance(片段,经理,搜索关键词,symbolType,containerViewId,R.anim.slide_in_from_right,R.anim.slide_out_to_left,R.anim.slide_in_from_left,R.anim.slide_out_to_right);
    }
    私有静态无效clearWebView(最终FragmentManager经理){
        最后MoneyWebViewFragment片段=(MoneyWebViewFragment)manager.findFragmentByTag(TAG_Money_FRAGMENT_WEBVIEW);
        如果(片段= NULL和放大器;!&安培;片段的instanceof MoneyWebViewFragment){
            ((MoneyWebViewFragment)片段).clearWebView();
        }
    }

    公共静态MoneyWebViewFragment的newInstance(最终FragmentManager经理,最终字符串搜索关键词,字符串symbolType){
        clearWebView(经理);
        返回__newInstance(新MoneyWebViewFragment(),经理,搜索关键词,symbolType,R.id.fragment_container);
    }

    公共静态MoneyWebViewFragment的newInstance(最终FragmentManager经理,最终字符串搜索关键词,字符串symbolType,诠释containerViewId){
        clearWebView(经理);
        返回__newInstance(新MoneyWebViewFragment(),经理,搜索关键词,symbolType,containerViewId);
    }

    公共静态MoneyWebViewFragment newInstanceNoBack pressed(最终FragmentManager经理,最终字符串搜索关键词,最后弦乐symbolType,诠释containerViewId){
        MoneyWebViewFragment片段= __newInstance(新MoneyWebViewFragment(),经理,搜索关键词,symbolType,containerViewId);
        fragment.setOnBack pressClearStack(假);
        返回片段;
    }

    公共静态MoneyWebViewFragment newInstanceNoBack pressed(最终MoneyWebViewFragment片段,最终FragmentManager经理,最终字符串搜索关键词,最后弦乐symbolType,诠释containerViewId){
        fragment.setOnBack pressClearStack(假);
        返回__newInstance(片段,经理,搜索关键词,symbolType,containerViewId);
    }

    公共静态MoneyWebViewFragment newInstanceForSearch(最终FragmentManager经理,最终字符串搜索关键词,字符串symbolType){
        MoneyWebViewFragment片段= __newInstance(新MoneyWebViewFragment(),经理,搜索关键词,symbolType,R.id.fragment_container,R.anim.no_animation,R.anim.slide_out_to_right,R.anim.slide_in_from_right,R.anim.slide_out_to_right);
        返回片段;
    }

    @覆盖
    公共无效onResume(){
        super.onResume();
        最后MainActivity活性=(MainActivity)getActivity();
        activity.updateActionBarTitle();
        activity.setBack pressListener(本);

        }
    公共无效clearWebView(){
        如果(mWebview!= NULL){
            mWebview.removeAllViews();
            mWebview.destroy();
            mWebview = NULL;
        }
    }
    @覆盖
    公共无效的onClick(视图v){


    }

    @燮pressWarnings(德precation)
    @燮pressLint({
            SetJavaScriptEnabled,NewApi
    })
    @覆盖
    公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,捆绑savedInstanceState){
        如果(goingBack){
            返回null;
        }
        最后MainActivity活性=(MainActivity)getActivity();

        activity.setBack pressListener(本);
        查看查看= inflater.inflate(R.layout.fragment_search_Money,集装箱,假);


        mWebview =(web视图)view.findViewById(R.id.webview);
        进度=(的LinearLayout)view.findViewById(R.id.loading);
        mWebview.setVisibility(View.VISIBLE);

        progressBar.setVisibility(View.VISIBLE);

            mWebview.setWebViewClient(新MyWebViewClient(这一点,mWebview));
            。mWebview.getSettings()setUseWideViewPort(真正的);
            //mWebview.getSettings().setDefaultZoom(ZoomDensity.CLOSE);
            //mWebview.getSettings().setBuiltInZoomControls(false);
            //mWebview.getSettings().setSupportZoom(false);
            mWebview.setBackgroundColor(0);
            。mWebview.getSettings()setJavaScriptCanOpenWindowsAutomatically(真正的);
            。mWebview.getSettings()setAllowFileAccess(真正的);
            mWebview.getSettings()setDomStorageEnabled(真)。
            mWebview.getSettings()setJavaScriptEnabled(真)。

            mWebview.setScrollbarFadingEnabled(假);
            。mWebview.getSettings()getLoadsImagesAutomatically();

            mWebview.setWebChromeClient(新WebChromeClient(){
                   @覆盖
                   公共无效onReceivedTitle(web视图查看,串题){
                      super.onReceivedTitle(查看,职称);

                      字符串SERVERERROR =412;
                      如果(title.contains(SERVERERROR)){
                          view.stopLoading();
                          SearchResultsFragment.newInstance(getFragmentManager(),mSearchTerm);
                      }
                   }
                });
            如果(Build.VERSION.SDK_INT> = Build.VERSION_ codeS.HONEYCOMB)
                。mWebview.getSettings()setDisplayZoomControls(假);
            共享preferencesManager经理=共享preferencesManager.getInstance();
            CookieStore的CookieStore的= mgr.getCookieStore();
            。饼干饼干= cookieStore.getCookies()得到(0);
            串cookieString = cookie.getName()+=+ cookie.getValue()+;域=+ cookie.getDomain();
            CookieManager cookieMgr = CookieManager.getInstance();
            cookieMgr.setCookie(URL,cookieString);


            mWebview.loadUrl(URL);


        返回查看;
    }


    公共类MyWebViewClient扩展WebViewClient {

        //私人字符串loginCookie;
        私人诠释rIdParent_id = -1;
        公共无效setRIdParent_id(INT ID){
            rIdParent_id = ID;
        }
        公共MyWebViewClient(MoneyWebViewFragment MoneyWebViewFragment,的WebView的WebView){
            超();
        }
        @覆盖
        公共无效onPageStarted(web视图查看,字符串URL,位图图标){
            view.setVisibility(View.VISIBLE);

        }

        @覆盖
        公共无效onPageFinished(web视图查看,字符串URL){
            view.setVisibility(View.VISIBLE);

            最终的动画渐变=新AlphaAnimation(0.0,1.0F);
            fade.setDuration(200);
            view.startAnimation(淡出);
            progressBar.setVisibility(View.GONE);

        }
        @覆盖
        公共无效onReceivedError(web视图来看,INT错误code,字符串描述,字符串failingUrl){
            Toast.makeText(view.getContext(),验证错误,Toast.LENGTH_LONG).show();
            // CookieManager cookieManager = CookieManager.getInstance();
            //cookieManager.setCookie(USERNAME,密码);
            super.onReceivedError(查看,错误code,说明,failingUrl);
        }

        @覆盖
        公共无效onLoadResource(web视图查看,字符串URL){

        }

        @覆盖
        公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){

                返回super.shouldOverrideUrlLoading(查看,网址);

        }

        @覆盖
        公共无效onReceivedHttpAuthRequest(web视图查看,最终HttpAuthHandler处理程序,最后弦乐主机,最后弦乐境界){
            // CookieManager cookieManager = CookieManager.getInstance();
            //cookieManager.setCookie(USERNAME,密码);
                handler.proceed(用户名,密码);

    }


         @覆盖
        公共无效onReceivedSslError(web视图来看,SslErrorHandler处理器,SslError错误){
            handler.proceed();
        }

    }


   / * @覆盖
    公共无效onDetach(){
        super.onDetach();
       // mView.removeView(mWebview);
       // mWebview.removeAllViews();
        QuotesFragmentWebView.newInstanceNoBack pressed(getFragmentManager(),mSearchTerm,goog MSFT,-1);
       // mWebview.destroy();
    } * /

}
 

解决方案

评论/敲了这一点: FragmentUtils.onBack pressedKnockFragsOffStack(mainActivity,这一点);

I have a webview in a fragment container in which I have embedded a back functionality. It works fine for navigation within the webview with the device back button. However, when I click on the device back button to exit the fragment say I open fragment 1 containing news and then fragment 2 containing this webview and then i click device back button to go back to news fragment, it doesnt work, it ust goes back to the main page of the app. Here's the code class I am using. I am not sure how to go about it , do I have to edit to some backpressed() function ? if so how do I go about it or is there a way I can create if(goingback), return -1 for going back 1 step. Any ideas?

我的电脑后退按键不能用了

Thanks! Justin

@SuppressLint("ValidFragment")
public class MoneyWebViewFragment extends Fragment implements OnClickListener , MainActivity.BackPressListener<Fragment> {

    private static final String SEARCH_TERM = "search_term";
    private static String mSearchTerm;
    private WebView mWebview;
    private static MoneyWebViewFragment sUserProfileManager;


    public boolean mIsMoneyFragment;

    public  final static String SYMBOL = "symbol";

    public static int PIC_WIDTH = 30;
    private static final String SYMBOL_TYPE = "symbol_type";
    public  static final String CONTAINER_ID = "container_id";
    public static final String TAG_Money_FRAGMENT_WEBVIEW = "MoneyWebViewFragment";
    SharedPreferencesManager manager = SharedPreferencesManager.getInstance();
    private static  String URL;
    private final  String USERNAME = manager.getLoginUsername();
    private final  String PASSWORD = manager.getDecryptedLoginPassword();

    LinearLayout progressBar;
    private static MoneyWebViewFragment __newInstance(final MoneyWebViewFragment fragment, final FragmentManager manager,
            final String searchTerm, final String symbolType, int containerViewId, final int inAnimation, final int outAnimation, final int popInAnimation, final int popOutAnimation) {

        final Bundle bundle = new Bundle();
        bundle.putString(SEARCH_TERM, searchTerm);
        bundle.putString(MoneyWebViewFragment.SYMBOL_TYPE, symbolType);
        bundle.putInt(MoneyWebViewFragment.CONTAINER_ID, containerViewId);
        fragment.setArguments(bundle);

        FragmentInfo fragmentInfo = new FragmentInfo(TransactionMethods.ADD, containerViewId);
        fragmentInfo.setAnimation(inAnimation, outAnimation);
        fragmentInfo.setPopAnimation(popInAnimation, popOutAnimation);
        fragmentInfo.setFragmentTag(TAG_Money_FRAGMENT_WEBVIEW);
        fragmentInfo.setActionBarTitle(Application.getAppResources().getString(R.string.title_search));
        FragmentStackManager.getInstance().transitionFragment(manager, fragment, fragmentInfo);
        URL = getUrl();
        return fragment;
    }

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

            Bundle bundle = this.getArguments();
            URL = getUrl();

            if(bundle != null)
                mSearchTerm = getArguments().getString(SEARCH_TERM);

             }
     public void setSearchTerms(String sTerms){
         mSearchTerm = sTerms;
     }
    public static void removeInstance(final FragmentManager manager) {
        final MoneyWebViewFragment fragment = (MoneyWebViewFragment) manager.findFragmentByTag(TAG_Money_FRAGMENT_WEBVIEW);
        if (fragment == null) {
            return;
        }

        final FragmentStackManager stackManager = FragmentStackManager.getInstance();
        if (stackManager.getTopFragment() instanceof MoneyWebViewFragment) {
            stackManager.popTopFragment();
        }
    }
    private boolean goingBack = false;
    private boolean onBackPressClearStack = true;

    public void setOnBackPressClearStack(boolean b){
        onBackPressClearStack = b;
    }
    public boolean webViewSteppedBack() {
        if (mWebview != null && mWebview.canGoBack()) {
            WebBackForwardList mWebBackForwardList = mWebview.copyBackForwardList();
            String historyUrl = mWebBackForwardList.getItemAtIndex(mWebBackForwardList.getCurrentIndex()-1).getUrl();
            mWebview.goBack();

            return true;
        }
        return false;
    }



    private MoneyWebViewFragment() {
        mIsMoneyFragment = false;
    }
    public static synchronized void clearUserProfileManager() {
        sUserProfileManager = new MoneyWebViewFragment();
    }

    public static MoneyWebViewFragment getInstance() {
        if (sUserProfileManager == null) {
            sUserProfileManager = new MoneyWebViewFragment();
        }
        return sUserProfileManager;
    }
    public boolean isMoneyWebViewFragment() {
        return mIsMoneyFragment;
    }
    @Override
    public boolean backPressed(final MainActivity mainActivity) {
        if (webViewSteppedBack()) {
            return true;
        }

        if (onBackPressClearStack) {
            goingBack = true;
            FragmentUtils.onBackPressedKnockFragsOffStack(mainActivity, this);
        }
        return false;
    }
    private static String getUrl(){
        String url = "";

        final String environmentApi = SharedPreferencesManager.getInstance().getEnvironmentApi();
        if (environmentApi.equalsIgnoreCase(NetworkUtils.Apis.ALPHA)) {

                url = "https://abc.com?q="+mSearchTerm+"userAgent=android";



        } 

         return url;
    }


    private static MoneyWebViewFragment __newInstance(final MoneyWebViewFragment fragment, final FragmentManager manager,
            final String searchTerm, final String symbolType, int containerViewId) {

        return __newInstance(fragment, manager,searchTerm, symbolType, containerViewId, R.anim.slide_in_from_right, R.anim.slide_out_to_left, R.anim.slide_in_from_left, R.anim.slide_out_to_right);
    }
    private static void clearWebView(final FragmentManager manager) {
        final MoneyWebViewFragment fragment = (MoneyWebViewFragment) manager.findFragmentByTag(TAG_Money_FRAGMENT_WEBVIEW);
        if (fragment != null && fragment instanceof MoneyWebViewFragment) {
            ((MoneyWebViewFragment)fragment).clearWebView();
        }
    }

    public static MoneyWebViewFragment newInstance(final FragmentManager manager, final String searchTerm, String symbolType) {
        clearWebView(manager);
        return __newInstance(new MoneyWebViewFragment(), manager, searchTerm, symbolType, R.id.fragment_container);
    }

    public static MoneyWebViewFragment newInstance(final FragmentManager manager, final String searchTerm, String symbolType, int containerViewId) {
        clearWebView(manager);
        return __newInstance(new MoneyWebViewFragment(), manager, searchTerm, symbolType, containerViewId);
    }

    public static MoneyWebViewFragment newInstanceNoBackPressed(final FragmentManager manager, final String searchTerm,  final String symbolType, int containerViewId) {
        MoneyWebViewFragment fragment =  __newInstance(new MoneyWebViewFragment(), manager, searchTerm, symbolType, containerViewId);
        fragment.setOnBackPressClearStack(false);
        return fragment;
    }

    public static MoneyWebViewFragment newInstanceNoBackPressed(final MoneyWebViewFragment fragment, final FragmentManager manager, final String searchTerm, final String symbolType, int containerViewId) {
        fragment.setOnBackPressClearStack(false);
        return __newInstance(fragment, manager, searchTerm, symbolType, containerViewId);
    }

    public static MoneyWebViewFragment newInstanceForSearch(final FragmentManager manager, final String searchTerm, String symbolType) {
        MoneyWebViewFragment fragment = __newInstance(new MoneyWebViewFragment(), manager, searchTerm, symbolType, R.id.fragment_container, R.anim.no_animation, R.anim.slide_out_to_right, R.anim.slide_in_from_right, R.anim.slide_out_to_right);
        return fragment;
    }

    @Override
    public void onResume() {
        super.onResume();
        final MainActivity activity = (MainActivity) getActivity();
        activity.updateActionBarTitle();
        activity.setBackPressListener(this);

        }
    public void clearWebView() {
        if (mWebview != null) {
            mWebview.removeAllViews();
            mWebview.destroy();
            mWebview = null;
        }
    }
    @Override
    public void onClick(View v) {


    }

    @SuppressWarnings("deprecation")
    @SuppressLint({
            "SetJavaScriptEnabled", "NewApi"
    })
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        if (goingBack) {
            return null;
        }
        final MainActivity activity = (MainActivity) getActivity();

        activity.setBackPressListener(this);
        View view = inflater.inflate(R.layout.fragment_search_Money, container, false);


        mWebview =  (WebView)view.findViewById(R.id.webview);
        progressBar = (LinearLayout) view.findViewById(R.id.loading);   
        mWebview.setVisibility(View.VISIBLE);

        progressBar.setVisibility(View.VISIBLE);

            mWebview.setWebViewClient(new MyWebViewClient(this, mWebview));
            mWebview.getSettings().setUseWideViewPort(true);
            //mWebview.getSettings().setDefaultZoom(ZoomDensity.CLOSE);
            //mWebview.getSettings().setBuiltInZoomControls(false);
            //mWebview.getSettings().setSupportZoom(false);
            mWebview.setBackgroundColor(0);
            mWebview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
            mWebview.getSettings().setAllowFileAccess(true);
            mWebview.getSettings().setDomStorageEnabled(true);
            mWebview.getSettings().setJavaScriptEnabled(true);

            mWebview.setScrollbarFadingEnabled(false);
            mWebview.getSettings().getLoadsImagesAutomatically();

            mWebview.setWebChromeClient(new WebChromeClient() {
                   @Override
                   public void onReceivedTitle(WebView view, String title) {
                      super.onReceivedTitle(view, title);

                      String serverError = "412";
                      if (title.contains(serverError)) {
                          view.stopLoading();
                          SearchResultsFragment.newInstance(getFragmentManager(), mSearchTerm);
                      }
                   }
                });
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
                mWebview.getSettings().setDisplayZoomControls(false);
            SharedPreferencesManager mgr = SharedPreferencesManager.getInstance();
            CookieStore cookieStore = mgr.getCookieStore();
            Cookie cookie = cookieStore.getCookies().get(0);
            String cookieString =  cookie.getName() + "=" + cookie.getValue() + "; domain=" + cookie.getDomain();
            CookieManager cookieMgr = CookieManager.getInstance();
            cookieMgr.setCookie(URL, cookieString);


            mWebview.loadUrl(URL);


        return view;
    }


    public class MyWebViewClient extends WebViewClient {

        //private String loginCookie;
        private int rIdParent_id = -1;
        public void setRIdParent_id (int id) {
            rIdParent_id= id; 
        }
        public MyWebViewClient(MoneyWebViewFragment MoneyWebViewFragment, WebView webview) {
            super();
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            view.setVisibility(View.VISIBLE);

        }

        @Override
        public void onPageFinished(WebView view, String url) {
            view.setVisibility(View.VISIBLE);

            final Animation fade = new AlphaAnimation(0.0f, 1.0f);
            fade.setDuration(200);
            view.startAnimation(fade);
            progressBar.setVisibility(View.GONE);

        }
        @Override
        public void onReceivedError( WebView view, int errorCode, String description, String failingUrl ) {
            Toast.makeText(view.getContext(), "Authentication Error", Toast.LENGTH_LONG).show();
            // CookieManager cookieManager = CookieManager.getInstance();
            //cookieManager.setCookie(USERNAME, PASSWORD);
            super.onReceivedError(view, errorCode, description, failingUrl);
        }

        @Override
        public void onLoadResource( WebView view, String url ){

        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

                return super.shouldOverrideUrlLoading(view, url);

        }

        @Override
        public void onReceivedHttpAuthRequest( WebView view, final HttpAuthHandler handler, final String host, final String realm ){
            // CookieManager cookieManager = CookieManager.getInstance();
            //cookieManager.setCookie(USERNAME, PASSWORD);
                handler.proceed(USERNAME,PASSWORD);

    }


         @Override
        public void onReceivedSslError( WebView view, SslErrorHandler handler, SslError error ) {
            handler.proceed();
        }

    }


   /* @Override
    public void onDetach() {
        super.onDetach();
       // mView.removeView(mWebview);
       // mWebview.removeAllViews();
        QuotesFragmentWebView.newInstanceNoBackPressed(getFragmentManager(), mSearchTerm, "goog msft", -1);
       // mWebview.destroy();
    }*/

}

解决方案

Comment/Knock this out : FragmentUtils.onBackPressedKnockFragsOffStack(mainActivity, this);

 
精彩推荐
图片推荐