@linux1s1s
2016-11-17T07:45:00.000000Z
字数 5397
阅读 2188
AndroidRefine 2016-11
系列博文:
Android 生命周期 - Activity
Android 生命周期 - Service
Android 生命周期 - BroadcastReceiver
Android 生命周期 - Fragment
Android 生命周期 - View
直观的看一下Fragment的生命周期

public static MyFragment newInstance(int index){MyFragment mf = new MyFragment();Bundle args = new Bundle();args.putInt("index",index);mf.setArguments(args);return mf;}
@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Bundle args = getArguments();if (args != null) {mLabel = args.getCharSequence("label", mLabel);}}
View v = inflater.inflate(R.layout.hello_world, container, false);
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/fragment_main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="fresco.mutex.com.lifecycle.MainActivity"><Buttonandroid:id="@+id/fragment_main_jump"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="Jump SecondActivity Now!"android:textSize="20dp" /><Buttonandroid:id="@+id/fragment_main_send"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/fragment_main_jump"android:layout_centerInParent="true"android:layout_marginTop="20dp"android:text="Send BroadCasatReceiver Now!"android:textSize="20dp" /><fresco.mutex.com.lifecycle.BCViewandroid:layout_width="80dp"android:layout_height="80dp"android:layout_below="@id/fragment_main_send"android:layout_centerInParent="true"android:background="@android:color/holo_blue_light"android:visibility="gone" /></RelativeLayout>
public class MainFragment extends Fragment implements View.OnClickListener {private Context mContext;public static MainFragment newInstance() {return new MainFragment();}@Overridepublic void onAttach(Context context) {super.onAttach(context);mContext = context;Log.i(MainActivity.TAG, "MainFragment: onAttach(Context context)");}@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);Log.i(MainActivity.TAG, "MainFragment: onAttach(Activity activity)");}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.i(MainActivity.TAG, "MainFragment: onCreate(@Nullable Bundle savedInstanceState)");}@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {Log.i(MainActivity.TAG, "MainFragment: onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)");return inflater.inflate(R.layout.fragment_main, container, false);}@Overridepublic void onViewCreated(View view, @Nullable Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);Log.i(MainActivity.TAG, "MainFragment: onViewCreated(View view, @Nullable Bundle savedInstanceState)");}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);Log.i(MainActivity.TAG, "MainFragment: onActivityCreated(@Nullable Bundle savedInstanceState)");initContentView();}private void initContentView() {final View rootView = getView();if (rootView == null)return;rootView.findViewById(R.id.fragment_main_send).setOnClickListener(this);rootView.findViewById(R.id.fragment_main_jump).setOnClickListener(this);}@Overridepublic void onStart() {super.onStart();Log.i(MainActivity.TAG, "MainFragment: onStart()");}@Overridepublic void onResume() {super.onResume();Log.i(MainActivity.TAG, "MainFragment: onResume()");}@Overridepublic void onPause() {Log.i(MainActivity.TAG, "MainFragment: onPause()");super.onPause();}@Overridepublic void onStop() {Log.i(MainActivity.TAG, "MainFragment: onStop()");super.onStop();}@Overridepublic void onDestroyView() {Log.i(MainActivity.TAG, "MainFragment: onDestroyView()");super.onDestroyView();}@Overridepublic void onDestroy() {Log.i(MainActivity.TAG, "MainFragment: onDestroy()");super.onDestroy();}@Overridepublic void onDetach() {Log.i(MainActivity.TAG, "MainFragment: onDetach()");super.onDetach();}public void jumpNow() {startActivity(new Intent(mContext, SecondActivity.class));}public void sendNow() {Intent intent = new Intent("fresco.mutex.com.lifecycle.RECEIVER_FOR_TEST");mContext.sendBroadcast(intent);}@Overridepublic void onClick(View v) {int id = v.getId();switch (id) {case R.id.fragment_main_send:sendNow();break;case R.id.fragment_main_jump:jumpNow();break;default:break;}}}


