In this example we are using two fragments Fragment1 and Fragment2 where Fragment1 consist of a button named click, this button will show the Fragment2 on clicking the Click button.
To implement Fragment in Android follow the steps mentioned below:- 
1) Use fragment tag in your new project's activity_main.xml file
activity_main.xml
<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
    <fragment
        android:name="com.example.manjeet.frameapp.Fragment1"
        android:id="@+id/fragment1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1">
    </fragment>
    <!--Linearlayout containing fragment2-->
    <LinearLayout
        android:id="@+id/llFrame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="gone">
        <fragment
            android:name="com.example.manjeet.frameapp.Fragment2"
            android:id="@+id/fragment2"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </fragment>
    </LinearLayout>
</LinearLayout>
2)Now Create two fragment file in your project and name them Fragment1 and Fragment2 .
Fragment1.java
public class Fragment1 extends Fragment{
    private Button click;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.fragment1,container, false);
        click = (Button) view.findViewById(R.id.btClick);
        click.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((MainActivity)getActivity()).showfragment();
            }
        });
        return view;
    }
}
fragment1.xml
 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent" android:layout_height="match_parent">
        <Button
            android:id="@+id/btClick"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Click"
            android:layout_marginTop="20dp"/>
    </LinearLayout>
Fragment2.java
public class Fregment2 extends Fragment {
    EditText username,email,password;
    Button register;
    CheckBox agree;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.fragment2,container, false);
        username=(EditText)view.findViewById(R.id.etUserName);
        email=(EditText)view.findViewById(R.id.etEmail);
        password=(EditText)view.findViewById(R.id.etPassword);
        register=(Button)view.findViewById(R.id.btRegister);
        agree=(CheckBox)view.findViewById(R.id.cbAgree);
        register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name=username.getText().toString();
                String mail=email.getText().toString();
                String pass=password.getText().toString();
                boolean validationPassed = true;
                if (name.isEmpty()) {
                    validationPassed = false;
                  //  username.setError(getResources().getString(R.string.errorusername));
                }
                if (mail.isEmpty()) {
                    validationPassed = false;
                    //email.setError(getResources().getString(R.string.errormail));
                }
                if (pass.isEmpty()) {
                    validationPassed = false;
                    //password.setError(getResources().getString(R.string.errorusername));
                }
                if (!(agree).isChecked())
                    Toast.makeText(getActivity(),"First Check",Toast.LENGTH_SHORT).show();
                if (validationPassed) {
                    Toast.makeText(getActivity(),"Registered",Toast.LENGTH_SHORT).show();
                }
            }
        });
        return view;
    }
}
fragment2.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <EditText
        android:id="@+id/etUserName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:hint="User-Name" />
    <EditText
        android:id="@+id/etEmail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/etUserName"
        android:hint="m@il-id"/>
    <EditText
        android:id="@+id/etPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/etEmail"
        android:hint="password"/>
    <CheckBox
        android:id="@+id/cbAgree"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/etPassword"
        android:text="I Agree "/>
    <Button
        android:id="@+id/btRegister"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/cbAgree"
        android:text="Submit"/>
3)In MainActivity we have defined a function showfragment through which visibility of Fragment2 is set true.
MainActivity.java
public class MainActivity extends Activity {
    private LinearLayout llFrame;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        llFrame=(LinearLayout)findViewById(R.id.llFrame);
    }
    public void showfragment(){
        llFrame.setVisibility(LinearLayout.VISIBLE);
    }
}
                       
                    
0 Comment(s)