diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 4f1091a..6b5eef9 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,7 @@
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 37f2583..112ff0c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -33,6 +33,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
+ implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
diff --git a/app/src/main/java/com/ploedige/fragments/Fragment1.java b/app/src/main/java/com/ploedige/fragments/Fragment1.java
new file mode 100644
index 0000000..d95137f
--- /dev/null
+++ b/app/src/main/java/com/ploedige/fragments/Fragment1.java
@@ -0,0 +1,50 @@
+package com.ploedige.fragments;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+public class Fragment1 extends Fragment {
+
+ Fragment1Listener buttonCallback;
+
+ public interface Fragment1Listener{
+ public void onFragment1ButtonClick();
+ }
+
+ public Fragment1() {
+ // Required empty public constructor
+ }
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_1, container, false);
+ }
+
+ @Override
+ public void onAttach(@NonNull Activity activity) {
+ super.onAttach(activity);
+ try{
+ buttonCallback = (Fragment1Listener) activity;
+ }
+ catch (ClassCastException e){
+ throw new ClassCastException(activity.toString() + "must implement Fragment1Listener");
+ }
+ }
+
+ public void jumpToFragment2(View view){
+ buttonCallback.onFragment1ButtonClick();
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/ploedige/fragments/Fragment2.java b/app/src/main/java/com/ploedige/fragments/Fragment2.java
new file mode 100644
index 0000000..db6b301
--- /dev/null
+++ b/app/src/main/java/com/ploedige/fragments/Fragment2.java
@@ -0,0 +1,25 @@
+package com.ploedige.fragments;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+public class Fragment2 extends Fragment {
+ public Fragment2() {
+ // Required empty public constructor
+ }
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_2, container, false);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/ploedige/fragments/MainActivity.java b/app/src/main/java/com/ploedige/fragments/MainActivity.java
index 7a0b074..d1d0748 100644
--- a/app/src/main/java/com/ploedige/fragments/MainActivity.java
+++ b/app/src/main/java/com/ploedige/fragments/MainActivity.java
@@ -1,14 +1,35 @@
package com.ploedige.fragments;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
-public class MainActivity extends AppCompatActivity {
+public class MainActivity extends FragmentActivity implements Fragment1.Fragment1Listener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+ loadFirstFragment();
+ }
+
+ private void loadFirstFragment(){
+ if(findViewById(R.id.fracment_container) != null){
+ Fragment1 fragment1 = new Fragment1();
+ getSupportFragmentManager().beginTransaction()
+ .add(R.id.fracment_container,fragment1).commit();
+ }
+ }
+
+ @Override
+ public void onFragment1ButtonClick() {
+ Fragment2 fragment2 = new Fragment2();
+ FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
+
+ fragmentTransaction.replace(R.id.fracment_container,fragment2);
+ fragmentTransaction.addToBackStack(null);
+ fragmentTransaction.commit();
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 4fc2444..4bb7b86 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,18 +1,9 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_1.xml b/app/src/main/res/layout/fragment_1.xml
new file mode 100644
index 0000000..07ff2b3
--- /dev/null
+++ b/app/src/main/res/layout/fragment_1.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_2.xml b/app/src/main/res/layout/fragment_2.xml
new file mode 100644
index 0000000..74091b6
--- /dev/null
+++ b/app/src/main/res/layout/fragment_2.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 34277aa..69e7f01 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,5 @@
Fragments
+
+ Hello blank fragment
\ No newline at end of file