Bu dersimizde fragmentlerin yaşam döngülerinden bahsettik.
Activity’lerin olduğu gibi fragmentlerimizin de kendine özgü yaşam döngüsü ve methodları vardır. İşte bu derste activity ve fragmentin yaşam döngüsünden, çalıştırılan methodların sırasından ve hangi method’da hangi işlemlerin yapıldığından bahsetmeye çalıştım.
Bu methodların çalışma sırasını ve nerde hangi method çalışıyor bunu öğrenmek için bazı loglar yazdık. Fragment’lere ve activity’lere daha da hakim olmak için bunların çalışma mantığını öğrenmek önemli.
Fragment yaşam döngüsü methodlarını yazarken özellikle onAttach methoduna dikkat edelim. İki versiyonu mevcuttur, biz parametre olarak context alan methodu kullanıyoruz. Diğeri şuan itibariyle deprecated olmuştur.
Faydalı olması dileğiyle…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("EMRE", "activity oncreate"); setContentView(R.layout.activity_main); } @Override protected void onStart() { super.onStart(); Log.d("EMRE", "activity onstart"); } @Override protected void onResume() { super.onResume(); Log.d("EMRE", "activity onresume"); } @Override protected void onPause() { super.onPause(); Log.d("EMRE", "activity onpause"); } @Override protected void onStop() { super.onStop(); Log.d("EMRE", "activity onstop"); } @Override protected void onDestroy() { super.onDestroy(); Log.d("EMRE", "activity ondestroy"); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
public class FragmentA extends Fragment { @Override public void onAttach(Context context) { super.onAttach(context); Log.d("EMRE", "fragment onAttach"); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("EMRE", "fragment oncreate"); } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.d("EMRE", "fragment oncreateview"); return inflater.inflate(R.layout.fragment_a, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Log.d("EMRE", "fragment onActivityCreated"); } @Override public void onStart() { super.onStart(); Log.d("EMRE", "fragment onStart"); } @Override public void onResume() { super.onResume(); Log.d("EMRE", "fragment onresume"); } @Override public void onPause() { super.onPause(); Log.d("EMRE", "fragment onpause"); } @Override public void onStop() { super.onStop(); Log.d("EMRE", "fragment onstop"); } @Override public void onDestroy() { super.onDestroy(); Log.d("EMRE", "fragment ondestroy "); } @Override public void onDestroyView() { super.onDestroyView(); Log.d("EMRE", "fragment ondestroyview"); } @Override public void onDetach() { super.onDetach(); Log.d("EMRE", "fragment ondetach"); } } |