1.fragment1 Layout and code
Layout
<?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:layout_width=" Match_parent "android:layout_height = "Match_parent" tools:context= ". Fragment1activity "> <fragment android:layout_width=" match_parent "android:layout_height=" 100DP "Android:name = "Com.example.administrator.jreduch06.fragment.TopFragment" android:id= "@+id/top_fragment" Android:layout_ Alignparenttop= "true" android:layout_alignparentend= "true" > </fragment> <fragment android:layout_width = "Match_parent" android:layout_height= "300DP" android:id= "@+id/leftfragment" Android:name= " Com.example.administrator.jreduch06.fragment.LeftFragment "android:layout_below=" @+id/top_fragment "Android: Layout_alignparentstart= "true" > </fragment> <framelayout android:layout_width= "Match_parent" Android: layout_height= "Match_parent" android:id= "@+id/fl" android:layout_alignparentstart= "true" Android:layout_below= "@+id/leftfragment" > </FrameLayout> </RelativeLayout>
Code
package com.example.administrator.jreduch06; import android.os.Bundle; import
android.support.v7.app.AppCompatActivity;
Import android.support.v4.app.Fragment;
Import com.example.administrator.jreduch06.fragment.FirstFragment;
Import com.example.administrator.jreduch06.fragment.LeftFragment;
Import com.example.administrator.jreduch06.fragment.SecondFragment; public class Fragment1activity extends Appcompatactivity implements Leftfragment.myinterface {@Override protected void O Ncreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (r.layout.activity_
FRAGMENT1); @Override public void onchangefragment (int which) {if (which==1) {Fragment fragment1=new firstfragment (); Getsupportfra
Gmentmanager (). BeginTransaction (). replace (R.ID.FL, fragment1). commit (); }else if (which==2) {Fragment fragment2=new secondfragment () Getsupportfragmentmanager (). BeginTransaction (). Replace
(R.id.fl,fragment2). commit (); }
}
}
2.fragment2 Layout and code
Layout
<?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:layout_width=" Match_parent
" android:layout_height= "Match_parent"
tools:context= "com.example.administrator.jreduch06.Fragment2Activity" >
<fragment
android:layout_width= "match_parent"
android:layout_height= "Wrap_content"
Android:id= "@+id/one_fragment"
android:name= " Com.example.administrator.jreduch06.fragmentcallback.OneFragment "
>
</fragment>
< Framelayout
android:layout_width= "match_parent"
android:layout_height= "match_parent"
android:id = "@+id/fl2"
android:layout_below= "@+id/linearlatout"
>
</FrameLayout>
</ Relativelayout>
Code:
Package com.example.administrator.jreduch06;
Import android.support.v4.app.Fragment;
Import android.support.v7.app.AppCompatActivity;
Import Android.os.Bundle;
Import com.example.administrator.jreduch06.fragment.FirstFragment;
Import com.example.administrator.jreduch06.fragment.SecondFragment;
Import com.example.administrator.jreduch06.fragmentcallback.OneFragment; public class Fragment2activity extends appcompatactivity implements onefragment.onfragmentinteractionlistener{@ Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (
R.LAYOUT.ACTIVITY_FRAGMENT2); @Override public void changefragment (int which) {if (which==1) {Fragment fragment1=new firstfragment (); getsupportfragm
Entmanager (). BeginTransaction (). replace (R.ID.FL2, fragment1). commit (); }else if (which==2) {Fragment fragment2=new secondfragment () Getsupportfragmentmanager (). BeginTransaction (). Replace
(R.id.fl2,fragment2). commit (); }
}
}
3.FirstFragment Code and layout
Layout:
<framelayout xmlns:android= "http://schemas.android.com/apk/res/android"
xmlns:tools= "http:// Schemas.android.com/tools "
android:layout_width=" match_parent "
android:layout_height=" Match_parent "
tools:context= "Com.example.administrator.jreduch06.fragment.FirstFragment" >
<textview
Android:layout_width= "Match_parent"
android:layout_height= "match_parent"
android:gravity= "center"
android:textsize= "30sp"
android:id= "@+id/tv"
android:text= "I am Fragment1"
android:layout_ gravity= "Center_horizontal|bottom"/>
</FrameLayout>
Code:
Package com.example.administrator.jreduch06.fragment;
Import Android.os.Bundle;
Import android.support.v4.app.Fragment;
Import Android.view.LayoutInflater;
Import Android.view.View;
Import Android.view.ViewGroup;
Import COM.EXAMPLE.ADMINISTRATOR.JREDUCH06.R;
/**
* A simple {@link Fragment} subclass.
*
/public class Secondfragment extends Fragment {public
secondfragment () {
//Required Empty Public const Ructor
}
@Override public
View Oncreateview (layoutinflater inflater, ViewGroup container,
Bundle savedinstancestate) {
//inflate the layout for this fragment return
inflater.inflate ( R.layout.fragment_second, container, false);
}
4.SecondFragment Code and layout
Layout:
<framelayout xmlns:android= "http://schemas.android.com/apk/res/android"
xmlns:tools= "http:// Schemas.android.com/tools "
android:layout_width=" match_parent "
android:layout_height=" Match_parent "
tools:context= "Com.example.administrator.jreduch06.fragment.SecondFragment" >
<textview
Android:layout_width= "Match_parent"
android:layout_height= "match_parent"
android:gravity= "center"
Android:textsize= "30SP"
android:text= "I am Fragment2"/>
</FrameLayout>
Code:
Package com.example.administrator.jreduch06.fragment;
Import Android.os.Bundle;
Import android.support.v4.app.Fragment;
Import Android.view.LayoutInflater;
Import Android.view.View;
Import Android.view.ViewGroup;
Import COM.EXAMPLE.ADMINISTRATOR.JREDUCH06.R;
/**
* A simple {@link Fragment} subclass.
*
/public class Firstfragment extends Fragment {public
secondfragment () {
//Required empty public constr Uctor
}
@Override public
View Oncreateview (layoutinflater inflater, ViewGroup container,
Bundle Savedinstancestate) {
//inflate the layout for this fragment return
inflater.inflate (r.layout.fragment_ I, container, false);
}
5.LeftFragment Layout and code
Layout:
<linearlayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http:// Schemas.android.com/tools "android:layout_width=" match_parent "android:layout_height=" Match_parent "Android:o" rientation= "vertical" android:background= "#bece0d" tools:context= "
Com.example.administrator.jreduch06.fragment.LeftFragment "> <button android:layout_width=" match_parent " android:layout_height= "Wrap_content" android:text= "First Fragment" android:id= "@+id/bt1"/> <button android:
Layout_width= "Match_parent" android:layout_height= "Wrap_content" android:text= "second Fragment" android:id= "@+id/bt2"
/> <button android:layout_width= "match_parent" android:layout_height= "wrap_content" android:text= "Callback1"
Android:id= "@+id/bt3"/> <button android:layout_width= "match_parent" android:layout_height= "Wrap_content" android:text= "Callback2" android:id= "@+id/bt4"/> <button android:layout_width= "Match_parent" Android:layout_ height= "Wrap_content" android:text= "hidden" android:id="@+id/bt5"/> <button android:layout_width= match_parent "android:layout_height=" Wrap_content "android:text=" Show "android:id=" @+id/bt6 "/> </LinearLayout>
Code:
Package com.example.administrator.jreduch06.fragment;
Import Android.content.Context;
Import Android.os.Bundle;
Import android.support.v4.app.Fragment;
Import Android.support.v4.app.FragmentManager;
Import android.support.v4.app.FragmentTransaction;
Import Android.view.LayoutInflater;
Import Android.view.View;
Import Android.view.ViewGroup;
Import Android.widget.Button;
Import Android.widget.Toast;
Import COM.EXAMPLE.ADMINISTRATOR.JREDUCH06.R;
/** * A Simple {@link Fragment} subclass. * * public class Leftfragment extends Fragment {private Fragment fragment1; private Fragment fragment2; private MYINTERFAC
e MyInterface; Public leftfragment () {} @Override the public void Onattach (context) {Super.onattach (context); if (context Instanceo F MyInterface) {myinterface= (MyInterface) context;} else {throw new RuntimeException (context.tostring () + Must imple
ment Onfragmentinteractionlistener "); @Override public View Oncreateview (layoutinflater inflater, ViewGroup container, BundLe Savedinstancestate) {View view=inflater.inflate (R.layout.fragment_left, container, false);
Button bt1= (button) View.findviewbyid (R.ID.BT1);
Button bt2= (button) View.findviewbyid (R.ID.BT2);
Button bt3= (button) View.findviewbyid (R.ID.BT3);
Button bt4= (button) View.findviewbyid (R.ID.BT4);
Button bt5= (button) View.findviewbyid (R.ID.BT5);
Button bt6= (button) View.findviewbyid (R.ID.BT6); Bt1.setonclicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {toast.maketext (GetContext ()
, "Click the button 1", Toast.length_short). Show ();
Fragment1=new firstfragment ();
Fragmentmanager Fm=getfragmentmanager ();
Fragmenttransaction fr=fm.begintransaction ();
Fr.replace (R.ID.FL,FRAGMENT1);
Fr.commit ();
}
}); Bt2.setonclicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {fragment2 = new secondfragment
();
Fragmentmanager fm = Getfragmentmanager ();
Fragmenttransaction fr = Fm.begintransaction ();
Fr.replace (R.ID.FL, Fragment2);
Fr.commit ();
}
}); Bt3.setoncLicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {myinterface.onchangefragment (1);}});
Bt4.setonclicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {
Myinterface.onchangefragment (2);
}
}); Bt5.setonclicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {if fragment1!=null& &!fragment1.ishidden ()) {Getfragmentmanager (). BeginTransaction (). Hide (Fragment1). commit ();} if (fragment2!=
null&&!fragment2.ishidden ()) {Getfragmentmanager (). BeginTransaction (). Hide (Fragment2). commit ();
}); Bt6.setonclicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {if fragment1!=null& &fragment1.ishidden ()) {Getfragmentmanager (). BeginTransaction (). Show (Fragment1). commit ();} if (fragment2!=
null&& Fragment2.ishidden ()) {Getfragmentmanager (). BeginTransaction (). Hide (Fragment2). commit ();
});
return view; } public interface MyInterface {void onchangefragment(int which); }
}
Effect:
Click on the first button to appear Fragment1.
Click on the second button to appear Fragment2
Click on the third button to appear Fragment1. (Different method)
Click on the Fourth button to appear Fragment2. (Different method)
Click Hide, note disappears
Click Show, Note appears
The above is a small set to introduce the Android dynamic add fragment instance code, I hope to help you, if you have any questions please give me a message, small series will promptly reply to everyone. Here also thank you very much for the cloud Habitat Community website support!