This post describes how open different fragments from a menu fragment in an Activity.
Create a new empty project in Android Studio. Create your layout in activity_main.xml. Add a FrameLayout here.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frame1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>Add menu_fragment.xml with four buttons.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#aafccc">
<Button
android:id="@+id/button1"
android:layout_width="120dp"
android:layout_height="100dp"
android:text="ADD"
android:textStyle="bold"
android:backgroundTint="#ff5555"
app:layout_constraintBottom_toTopOf="@+id/button3"
app:layout_constraintEnd_toStartOf="@+id/button2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
android:layout_width="120dp"
android:layout_height="100dp"
android:text="SUBTRACT"
android:textStyle="bold"
android:backgroundTint="#ff55ff"
app:layout_constraintBottom_toTopOf="@+id/button3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/button1"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button3"
android:layout_width="120dp"
android:layout_height="100dp"
android:text="Multiply"
android:textStyle="bold"
android:backgroundTint="#5599ff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/button4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/button1" />
<Button
android:id="@+id/button4"
android:layout_width="120dp"
android:layout_height="100dp"
android:text="DIVIDE"
android:textStyle="bold"
android:backgroundTint="#999955"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/button3"
app:layout_constraintTop_toBottomOf="@id/button2" />
</androidx.constraintlayout.widget.ConstraintLayout>Add MenuFragment.java use following codes. In on click events of button1, button2, button3, and button4, we display AddFragment, SubtractFragment, MultiplyFragment and DivideFragment respectively.
package com.example.mathfragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
public class MenuFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.menu_fragment, container, false);
Button button1 = v.findViewById(R.id.button1);
Button button2 = v.findViewById(R.id.button2);
Button button3 = v.findViewById(R.id.button3);
Button button4 = v.findViewById(R.id.button4);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
Fragment fragment = new AddFragment();
transaction.replace(R.id.frame1, fragment, "add");
transaction.addToBackStack(null).commit();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
Fragment fragment = new SubtractFragment();
transaction.replace(R.id.frame1, fragment, "subtract");
transaction.addToBackStack(null).commit();
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
Fragment fragment = new MultiplyFragment();
transaction.replace(R.id.frame1, fragment, "multiply");
transaction.addToBackStack(null).commit();
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
Fragment fragment = new DivideFragment();
transaction.replace(R.id.frame1, fragment, "divide");
transaction.addToBackStack(null).commit();
}
});
return v;
}
}
Create add_fragment.xml.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff5555">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Addition"
android:textStyle="bold"
android:textSize="24sp"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@id/editTextNumberDecimal"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<EditText
android:id="@+id/editTextNumberDecimal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:inputType="numberDecimal"
android:background="#eeeeff"
android:padding="8dp"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/editTextNumberDecimal2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextNumberDecimal" />
<EditText
android:id="@+id/editTextNumberDecimal2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:background="#eeeeff"
android:padding="8dp"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/editTextNumberDecimal"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ADD"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.00"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@id/button2"
app:layout_constraintTop_toBottomOf="@id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BACK"
android:textSize="20sp"
app:layout_constraintTop_toBottomOf="@id/textView2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>Create AddFragment.java.
package com.example.mathfragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
public class AddFragment extends Fragment {
FragmentManager fm;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.add_fragment, null);
EditText edit1 = v.findViewById(R.id.editTextNumberDecimal);
EditText edit2 = v.findViewById(R.id.button);
Button button2 = v.findViewById(R.id.editTextNumberDecimal2);
Button button1 = v.findViewById(R.id.button2);
TextView text2 = v.findViewById(R.id.textView2);
fm = getActivity().getSupportFragmentManager();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double a = Double.parseDouble(edit1.getText().toString());
double b = Double.parseDouble(edit2.getText().toString());
double c = a+b;
text2.setText(c + "");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fm.beginTransaction().remove(fm.findFragmentByTag("add")).commit();
fm.popBackStackImmediate();
}
});
return v;
}
}
Create subtract_fragment.xml.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff55ff">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Subtraction"
android:textStyle="bold"
android:textSize="24sp"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@id/editTextNumberDecimal"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<EditText
android:id="@+id/editTextNumberDecimal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:inputType="numberDecimal"
android:background="#eeeeff"
android:padding="8dp"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/editTextNumberDecimal2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextNumberDecimal" />
<EditText
android:id="@+id/editTextNumberDecimal2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:background="#eeeeff"
android:padding="8dp"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/editTextNumberDecimal"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SUBTRACT"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.00"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@id/button2"
app:layout_constraintTop_toBottomOf="@id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BACK"
android:textSize="20sp"
app:layout_constraintTop_toBottomOf="@id/textView2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>Create SubtractFragment.java.
package com.example.mathfragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
public class SubtractFragment extends Fragment {
FragmentManager fm;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.subtract_fragment, null);
EditText edit1 = v.findViewById(R.id.editTextNumberDecimal);
EditText edit2 = v.findViewById(R.id.editTextNumberDecimal2);
Button button1 = v.findViewById(R.id.button);
Button button2 = v.findViewById(R.id.button2);
TextView text2 = v.findViewById(R.id.textView2);
fm = getActivity().getSupportFragmentManager();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double a = Double.parseDouble(edit1.getText().toString());
double b = Double.parseDouble(edit2.getText().toString());
double c = a-b;
text2.setText(c+"");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fm.beginTransaction().remove(fm.findFragmentByTag("subtract")).commit();
fm.popBackStackImmediate();
}
});
return v;
}
}
Create multiply_fragment.xml.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#5599ff">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Multiplication"
android:textStyle="bold"
android:textSize="24sp"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@id/editTextNumberDecimal"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<EditText
android:id="@+id/editTextNumberDecimal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:inputType="numberDecimal"
android:background="#eeeeff"
android:padding="8dp"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/editTextNumberDecimal2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextNumberDecimal" />
<EditText
android:id="@+id/editTextNumberDecimal2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:background="#eeeeff"
android:padding="8dp"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/editTextNumberDecimal"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MULTIPLY"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.00"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@id/button2"
app:layout_constraintTop_toBottomOf="@id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BACK"
android:textSize="20sp"
app:layout_constraintTop_toBottomOf="@id/textView2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>Create MultiplyFragment.java.
package com.example.mathfragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
public class MultiplyFragment extends Fragment {
FragmentManager fm;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.multiply_fragment, null);
EditText edit1 = v.findViewById(R.id.editTextNumberDecimal);
EditText edit2 = v.findViewById(R.id.editTextNumberDecimal2);
Button button1 = v.findViewById(R.id.button);
Button button2 = v.findViewById(R.id.button2);
TextView text2 = v.findViewById(R.id.textView2);
fm = getActivity().getSupportFragmentManager();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double a = Double.parseDouble(edit1.getText().toString());
double b = Double.parseDouble(edit2.getText().toString());
double c = a*b;
text2.setText(c+"");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fm.beginTransaction().remove(fm.findFragmentByTag("multiply")).commit();
fm.popBackStackImmediate();
}
});
return v;
}
}
Create divide_fragment.xml.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#999955">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Division"
android:textStyle="bold"
android:textSize="24sp"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@id/editTextNumberDecimal"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<EditText
android:id="@+id/editTextNumberDecimal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:inputType="numberDecimal"
android:background="#eeeeff"
android:padding="8dp"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/editTextNumberDecimal2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextNumberDecimal" />
<EditText
android:id="@+id/editTextNumberDecimal2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:background="#eeeeff"
android:padding="8dp"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/editTextNumberDecimal"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DIVIDE"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.00"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@id/button2"
app:layout_constraintTop_toBottomOf="@id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BACK"
android:textSize="20sp"
app:layout_constraintTop_toBottomOf="@id/textView2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>Create DivideFragment.java.
package com.example.mathfragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
public class DivideFragment extends Fragment {
FragmentManager fm;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.divide_fragment, null);
EditText edit1 = v.findViewById(R.id.editTextNumberDecimal);
EditText edit2 = v.findViewById(R.id.editTextNumberDecimal2);
Button button1 = v.findViewById(R.id.button);
Button button2 = v.findViewById(R.id.button2);
TextView text2 = v.findViewById(R.id.textView2);
fm = getActivity().getSupportFragmentManager();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double a = Double.parseDouble(edit1.getText().toString());
double b = Double.parseDouble(edit2.getText().toString());
double c = a/b;
text2.setText(c+"");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fm.beginTransaction().remove(fm.findFragmentByTag("divide")).commit();
fm.popBackStackImmediate();
}
});
return v;
}
}
In MainActivity.java use following codes.
package com.example.mathfragments;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment fragment = new MenuFragment();
transaction.replace(R.id.frame1, fragment);
transaction.commit();
}
}Now run the app.