Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class FragmentStackSupport extends SherlockFragmentActivity {
- int mStackLevel = 1;
- public static int THEME = R.style.Theme_Sherlock_Light;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(THEME); //Used for theme switching in samples
- super.onCreate(savedInstanceState);
- setContentView(R.layout.fragment_stack);
- if (savedInstanceState == null) {
- // Do first time initialization -- add initial fragment.
- Fragment newFragment = Web.newInstance(mStackLevel);
- FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
- ft.add(R.id.simple_fragment, newFragment).commit();
- } else {
- mStackLevel = savedInstanceState.getInt("level");
- }
- }
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putInt("level", mStackLevel);
- }
- public void addFragmentToStack() {
- mStackLevel++;
- // Instantiate a new fragment.
- Fragment newFragment = Web.newInstance(mStackLevel);
- // Add the fragment to the activity, pushing this transaction
- // on to the back stack.
- FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
- ft.replace(R.id.simple_fragment, newFragment);
- ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
- ft.addToBackStack(null);
- ft.commit();
- }
- public static class Web extends SherlockFragment {
- int mNum;
- /**
- * Create a new instance of CountingFragment, providing "num"
- * as an argument.
- */
- static Web newInstance(int num) {
- Web f = new Web();
- // Supply num input as an argument.
- Bundle args = new Bundle();
- args.putInt("num", num);
- f.setArguments(args);
- return f;
- }
- /**
- * When creating, retrieve this instance's number from its arguments.
- */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mNum = getArguments() != null ? getArguments().getInt("num") : 1;
- }
- /**
- * The Fragment's UI is just a simple text view showing its
- * instance number.
- */
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View v = inflater.inflate(R.layout.hello_world, container, false);
- View wv = v.findViewById(R.id.webview);
- WebView webView = ((WebView)wv);
- webView.loadUrl("http://www.google.at");
- webView.setWebViewClient(new MyWebViewClient());
- return v;
- }
- }
- public static class MyWebViewClient extends WebViewClient {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String urlString) {
- handleURLRequest("modal");
- return false;
- }
- private void handleURLRequest(String transitionStyle){
- // here I want to replace the Fragment with a new one.
- }
- }
- }
Add Comment
Please, Sign In to add comment