Wiki
Clone wikiUniversi / Fragment
Overview
UniversiFragment is extension of ActionBarFragment from the Fragments library. This fragment implementation uses UniversiFragmentDelegate to provide some basic functionality available for Universi context.
Usage
Base Fragment
public abstract class BaseFragment extends UniversiFragment { // Below are listed some of methods that are available in context of this fragment. // DIALOGS // boolean setDialogController(DialogController) // void setDialogFactory(DialogFactory) // void setDialogXmlFactory(@XmlRes int) // boolean showDialogWithId(int, DialogOptions) // boolean dismissDialogWithId(int) // boolean showXmlDialog(@XmlRes int, DialogOptions) // boolean dismissXmlDialog(@XmlRes) // PERMISSIONS // int checkSelfPermission(String) // boolean shouldShowRequestPermissionRationale(String) // void supportRequestPermissions(String[], int) // NETWORK CONNECTION // boolean isActiveNetworkConnected() // BASE IMPLEMENTATION @Override protected void onBindViews(@NonNull View rootView, @Nullable Bundle savedInstanceState) { super.onBindViews(rootView, savedInstanceState); final Unbinder unbinder = Butterknife.bind(rootView); // ... unbind in onDestroyView(...) } }
Sample Fragment
@ContentView(R.layout.fragment_sample) public final class SampleFragment extends BaseFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Attach dialog factory providing DialogFragment instances for fragment's default DialogController. setDialogFactory(new SampleDialogs()); // ... or setDialogXmlFactory(R.xml.sample_dialogs); } @OnClick(R.id.button) public void onButtonClick(@NonNull View button) { // .... show sample dialog by its corresponding id specified in R.xml.sample_dialogs Xml file // In case of SampleDialogs we would use some constant ID specified in such factory. showDialogWithId(R.id.sample_dialog); // ... dismiss the dialog later dismissDialogWithId(R.id.sample_dialog); } // ... this fragment simply have access to all useful methods provided by UniversiFragment ... }
Module
Mentioned element is available in the Fragment library module.
Updated