package com.mcxiaoke.next.app; import android.annotation.TargetApi; import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.content.Intent; import android.os.Build.VERSION_CODES; import android.os.Bundle; import com.mcxiaoke.next.utils.LogUtils; /** * User: mcxiaoke * Date: 14-3-5 * Time: 11:49 */ @TargetApi(VERSION_CODES.HONEYCOMB) public abstract class NextBaseFragment extends Fragment { public static final boolean DEBUG = false; private static final String BASE_TAG = NextBaseFragment.class.getSimpleName(); @Override public void onHiddenChanged(final boolean hidden) { super.onHiddenChanged(hidden); LogUtils.v(BASE_TAG, "onHiddenChanged() hidden=" + hidden + " fragment=" + getClazzName()); } @Override public void onAttach(Activity activity) { super.onAttach(activity); LogUtils.v(BASE_TAG, "onAttach() fragment=" + getClazzName()); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LogUtils.v(BASE_TAG, "onCreate() fragment=" + getClazzName()); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); LogUtils.v(BASE_TAG, "onActivityCreated() fragment=" + getClazzName()); } @Override public void onStart() { super.onStart(); LogUtils.v(BASE_TAG, "onStart() fragment=" + getClazzName()); } @Override public void onResume() { super.onResume(); LogUtils.v(BASE_TAG, "onResume() fragment=" + getClazzName()); } @Override public void onPause() { super.onPause(); LogUtils.v(BASE_TAG, "onPause() fragment=" + getClazzName()); } @Override public void onStop() { super.onStop(); LogUtils.v(BASE_TAG, "onStop() fragment=" + getClazzName()); } @Override public void onDestroy() { super.onDestroy(); LogUtils.v(BASE_TAG, "onDestroy() fragment=" + getClazzName()); } @Override public void onDetach() { super.onDetach(); LogUtils.v(BASE_TAG, "onDetach() fragment=" + getClazzName()); } private String getClazzName() { Object o = this; return o.getClass().getSimpleName(); } public final NextBaseActivity getBaseActivity() { return (NextBaseActivity) getActivity(); } public final void showProgressIndicator() { NextBaseActivity activity = getBaseActivity(); if (activity != null) { activity.showProgressIndicator(); } } public final void hideProgressIndicator() { NextBaseActivity activity = getBaseActivity(); if (activity != null) { activity.hideProgressIndicator(); } } public final void finishActivity() { NextBaseActivity activity = getBaseActivity(); if (activity != null) { activity.finish(); } } public final void setResult(int resultCode) { NextBaseActivity activity = getBaseActivity(); if (activity != null) { activity.setResult(resultCode); } } public final void setResult(int resultCode, Intent data) { NextBaseActivity activity = getBaseActivity(); if (activity != null) { activity.setResult(resultCode, data); } } public final void invalidateOptionsMenu() { NextBaseActivity activity = getBaseActivity(); if (activity != null) { activity.invalidateOptionsMenu(); } } public final ActionBar getActionBar() { NextBaseActivity activity = getBaseActivity(); if (activity != null) { return activity.getActionBar(); } return null; } public final void setActionBarTitle(CharSequence text) { ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setTitle(text); } } public final void setActionBarTitle(int resId) { ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setTitle(resId); } } public final void setActionBarSubTitle(CharSequence text) { ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setSubtitle(text); } } public final void setActionBarSubTitle(int resId) { ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setSubtitle(resId); } } protected NextBaseFragment getFragment() { return this; } }