Fragment Nedir?
Fragment Activity nesnesinin modüler bir parçasıdır. Kendi yaşam döngüsü vardır ve kendi event'lerini alır.
Ana XML
Fragment main_activity.xml'de şöyle gösterilir.
Şöyle yaparız.
Bir fragment başka bir fragment ile değiştirilebilir.
Şöyle yaparız.
Bu metod fragment'i içeren activity'nin context'ini döndürür. Fragment kendini içeren activity nesnesini bilir.
Fragment içinde Toast yaratmak istersek şöyle yaparız
Fragment Activity nesnesinin modüler bir parçasıdır. Kendi yaşam döngüsü vardır ve kendi event'lerini alır.
Ana XML
Fragment main_activity.xml'de şöyle gösterilir.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/homebuttons_fragment_container"
android:layout_width="match_parent"
android:layout_height="200dp" />
KalıtımŞöyle yaparız.
public class UsersView extends Fragment {
View myView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
myView = inflater.inflate(R.layout.users, container, false);
...
// The End
return myView;
}
}
Fragment DeğiştirmeBir fragment başka bir fragment ile değiştirilebilir.
public void replaceFragment(Fragment someFragment) {
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frame_container, someFragment);
transaction.addToBackStack(null);
transaction.commit();
}
Şöyle çağırırız.Fragment fragment = new AboutFragment();
replaceFragment(fragment);
OnCreateView metoduŞöyle yaparız.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
....
return view;
}
View yaratıldıktan sonra içindeki nesneler elde edilir. Şöyle yaparız.myButton = (Button) view.findViewById(R.id.button);
getContext metoduBu metod fragment'i içeren activity'nin context'ini döndürür. Fragment kendini içeren activity nesnesini bilir.
// Activity this fragment is attached to.
FragmentHostCallback mHost;
Metodun içinden de host nesnesinin kullanıldığı görülebilir./**
* Return the {@link Context} this fragment is currently associated with.
*/
public Context getContext() {
return mHost == null ? null : mHost.getContext();
}
getActivity metoduFragment içinde Toast yaratmak istersek şöyle yaparız
Toast.makeText(getActivity(), "...", Toast.LENGTH_LONG).show();
Hiç yorum yok:
Yorum Gönder