Lanjutkan project sebelumnya seperti pada article : Latihan menampilkan fragment pada activity
Kemudian buat 1 fragment lagi dengan nama SecondFragment

Sesuaikan layout fragment_second.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"
android:padding="16dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Second Fragment" />
<Button
android:id="@+id/btn_dua"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dua" />
</LinearLayout>
Hapus kode yang tidak perlu di SecondFragment , dan sesuaikan seperti berikut
public class SecondFragment extends Fragment implements View.OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_second, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button button = view.findViewById(R.id.btn_dua);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v.getId() == R.id.btn_dua){
}
}
}
Kembali pada HomeFragment, tambahkan kode pada method onClick
@Override
public void onClick(View v) {
if (v.getId() == R.id.btn_satu) {
SecondFragment secondFragment = new SecondFragment();
FragmentManager manager = getFragmentManager();
if(manager != null){
manager.beginTransaction()
.replace(R.id.frame_container, secondFragment, SecondFragment.class.getSimpleName())
.addToBackStack(null)
.commit();
}
}
}
Jika kita coba sekarang maka ketika kita klik Button pada HomeFragment, maka frame_container pada MainActivity akan terganti oleh SecondFragment.