com.divingallowed.android.ui.activity.BaseSinglePaneActivity.java Source code

Java tutorial

Introduction

Here is the source code for com.divingallowed.android.ui.activity.BaseSinglePaneActivity.java

Source

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();

}