Static fragment
- Static fragment is a fragment that can't be change during runtime.
- It uses <fragment> widget from Android Studio.
- Only .xml file.
- Nothing need to be declared in MainActivity.java
Dynamic fragment
- Dynamic fragment is a fragment that can be change during runtime.
- It uses FrameLayout widget to be a container for it.
- It needed to be declare in the MainActivity.java
Dynamic fragment sample code:
//MainActivity.java
public class MainActivity extends AppCompatActivity
{
   //set as public static, so it can be use in other fragment activity too
   public static FragmentManager frag_manager;
   @Override
   protected void onCreate(Bundle savedInstanceState)
   {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      frag_manager = getSupportFragmentManager;
      
      //the FrameLayout id = fragContainer in activity_main.xml
      if (findViewById(R.id.fragContainer) != null)
      {
         //if the item is saved, which means that there is already a item there
         if (savedInstanceState != null)
         {
            return;
         }
         
         //begin the transaction for fragment
         FragmentTransaction frag_trans = frag_manager.beginTransaction();
         //declare the first fragment item, which is the FirstFrag.java
         FirstFrag first_frag = new FirstFrag();
         //add the first_frag.xml to the FrameLayout container
         frag_trans.add(R.id.fragContainer,first_frag,false);
         //commit the fragment
         frag_trans.commit();
      }
   }
}
The code above will add the fragment into a FrameLayout container. The fragment inside the container can be change, eg. currently is first_frag.xml in FirstFrag.java, but it can be chage to second.frag.xml in SecondFrag.java too, a button can be add to perform the change of fragement during runtime.
 
 
No comments:
Post a Comment