Return to previous activity from snippet

I need to go back to previous activity

from current fragment

by clicking Hardware Back Button

, but since I am inside a fragment, I cannot use the method onBackPressed()

. Can anyone help me to solve this problem.

My current snippet consists of a webclient video preview, and when I try to hit the back button, the app usually exits.

public class Media_Lounge extends Fragment {

ArrayList<String> videoID = new ArrayList<String>();
ArrayList<String> videoTittle = new ArrayList<String>();
ArrayList<String> Duration = new ArrayList<String>();
ArrayList<String> videoImage = new ArrayList<String>();
ListView lv;
// private WebView mWebView;
private static SharedPreferences prefs;

private VideoEnabledWebView webView;
private VideoEnabledWebChromeClient webChromeClient;
private LoginScreenNew ll;

/**
 * Provides a hook for calling "alert" from javascript. Useful for debugging
 * your javascript.
 */
final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsAlert(WebView view, String url, String message,
            JsResult result) {

        result.confirm();
        return true;
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
    View rootView = inflater
            .inflate(R.layout.medialounge, container, false);

    ll = (LoginScreenNew) getActivity();

    Button activity_feed = (Button) rootView.findViewById(R.id.desk);
    Button csuite = (Button) rootView.findViewById(R.id.csuite);

    ll.mainButtonLayout.setVisibility(8);
    RelativeLayout rv = (RelativeLayout) rootView
            .findViewById(R.id.container);
    new ASSL(getActivity(), rv, 720, 1196, true);

    // Save the web view
    webView = (VideoEnabledWebView) rootView.findViewById(R.id.webView);
    // Initialize the VideoEnabledWebChromeClient and set event handlers
    View nonVideoLayout = rootView.findViewById(R.id.media);
    ViewGroup videoLayout = (ViewGroup) rootView
            .findViewById(R.id.videoLayout); // Your own view, read class

    webChromeClient = new VideoEnabledWebChromeClient(nonVideoLayout,
            videoLayout, null, webView) // See all available constructors...
    {
        // Subscribe to standard events, such as onProgressChanged()...
        @Override
        public void onProgressChanged(WebView view, int progress) {
            // Your code...
        }
    };

    webChromeClient
            .setOnToggledFullscreen(new VideoEnabledWebChromeClient.ToggledFullscreenCallback() {
                @Override
                public void toggledFullscreen(boolean fullscreen) {
                    // Your code to handle the full-screen change, for
                    // example showing and hiding the title bar. Example:

                    if (fullscreen) {

                        Log.i("Full screen is true", "Full screen is true");
                        WindowManager.LayoutParams attrs = getActivity()
                                .getWindow().getAttributes();
                        attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
                        attrs.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
                        getActivity().getWindow().setAttributes(attrs);
                        if (android.os.Build.VERSION.SDK_INT >= 14) {
                            getActivity()
                                    .getWindow()
                                    .getDecorView()
                                    .setSystemUiVisibility(
                                            View.SYSTEM_UI_FLAG_LOW_PROFILE);
                        }
                    } else {
                        Log.i("Full screen is false",
                                "Full screen is false");
                        WindowManager.LayoutParams attrs = getActivity()
                                .getWindow().getAttributes();
                        attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
                        attrs.flags &= ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
                        getActivity().getWindow().setAttributes(attrs);
                        if (android.os.Build.VERSION.SDK_INT >= 14) {
                            getActivity()
                                    .getWindow()
                                    .getDecorView()
                                    .setSystemUiVisibility(
                                            View.SYSTEM_UI_FLAG_VISIBLE);
                        }
                    }
                }
            });

    webView.setWebChromeClient(webChromeClient);
    // Navigate everywhere you want, this classes have only been tested on
    // YouTube mobile site

    webView.loadUrl("http://dev.youareaceo.com/yaac/On-Air.html");
    activity_feed.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            ll.CampusScreenLayout
                    .setBackgroundResource(R.drawable.activity_feed_screen_bg);
            ll.fragmentMain = new Myoffice();
            if (ll.fragmentMain != null) {
                try {
                    getActivity().getFragmentManager().beginTransaction()
                            .replace(R.id.main, ll.fragmentMain).commit();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    });

    csuite.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            // pop_Csuite();
            Data1.urlLoad = Httppost_Links.webCsuit + "?token="
                    + prefs.getString("accesstoken", "none");
            ll.fragment = new SuccessUniversity();

            try {
                getFragmentManager().beginTransaction()
                        .replace(R.id.send_mint_rep, ll.fragment).commit();

            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    });

    rootView.setFocusableInTouchMode(true);
    rootView.requestFocus();
    webView.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            Log.i("keyCode!!!!!!!!!!!!!!!!!!!!!!!", "keyCode: " + keyCode);
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                ll.fragment = new Media_Lounge();
                getActivity().getFragmentManager().beginTransaction()
                        .replace(R.id.send_mint_rep, ll.fragment).commit();
                return true;
            } else {
                return false;
            }
        }
    });



    return rootView;

}

protected void pop_Csuite() {
    final Dialog dialog1 = new Dialog(getActivity(),
            android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
    dialog1.setContentView(R.layout.webview_fullscreen);
    Window window = dialog1.getWindow();
    window.setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    window.setGravity(Gravity.CENTER);
    RelativeLayout rv = (RelativeLayout) dialog1
            .findViewById(R.id.container);
    new ASSL(getActivity(), rv, 720, 1196, true);
    WindowManager.LayoutParams layoutParams = dialog1.getWindow()
            .getAttributes();
    layoutParams.dimAmount = 0.7f;
    dialog1.getWindow()
            .addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

    Button decline = (Button) dialog1.findViewById(R.id.closepop);

    WebView webView1 = (WebView) dialog1.findViewById(R.id.web);
    webView1.getSettings().setJavaScriptEnabled(true);
    webView1.loadUrl(Httppost_Links.webCsuit + "?token="
            + prefs.getString("accesstoken", "none"));
    webView1.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // do your handling codes here, which url is the requested url
            // probably you need to open that url rather than redirect:
            view.loadUrl(url);
            return false; // then it is not handled by default action
        }
    });

    decline.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            dialog1.cancel();
        }
    });

    dialog1.show();

}

class ViewHolder {

    public ImageView video_image;
    public int pos;
    public TextView image_link;
    public TextView duration;
    public TextView tittle;
    public LinearLayout listbox;
}

@Override
public void onPause() {
    super.onPause();

    try {
        try {
            Class.forName("android.webkit.WebView")
                    .getMethod("onPause", (Class[]) null)
                    .invoke(webView, (Object[]) null);
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } catch (ClassNotFoundException cnfe) {

    }
}

@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();

}
}

      

+3


source to share





All Articles