Java tutorial
package com.divingallowed.android.ui.activity; /* * Copyright 2011 Google Inc. Licensed under the Apache License, Version 2.0 (the "License"); you * may not use this file except in compliance with the License. You may obtain a copy of the License * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in * writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific * language governing permissions and limitations under the License. */ import roboguice.RoboGuice; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; /** * A {@link BaseActivity} that simply contains a single fragment. The intent used to invoke this * activity is forwarded to the fragment as arguments during fragment instantiation. */ public abstract class BaseSinglePaneActivity<T extends Fragment> extends BaseActivity { private T fragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FragmentManager fm = getSupportFragmentManager(); fragment = (T) fm.findFragmentById(android.R.id.content); if (fragment == null) { fragment = RoboGuice.getInjector(this).getInstance(getFragmentClass()); fm.beginTransaction().add(android.R.id.content, fragment).commit(); } } protected T getFragment() { return fragment; } protected abstract Class<T> getFragmentClass(); }