Browse Source

Merge pull request #191 from wix/yedidyak_fragment_content_fixed

Set FragmentScreen content to fixed xml defined ID. Fixes race condit…
DanielZlotin 8 years ago
parent
commit
2de77b2801

+ 5
- 3
android/app/src/main/java/com/reactnativenavigation/screens/FragmentScreen.java View File

16
 import java.lang.reflect.InvocationTargetException;
16
 import java.lang.reflect.InvocationTargetException;
17
 import java.lang.reflect.Method;
17
 import java.lang.reflect.Method;
18
 
18
 
19
+import com.reactnativenavigation.R;
20
+
19
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
21
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
20
 
22
 
21
 @SuppressWarnings("ResourceType")
23
 @SuppressWarnings("ResourceType")
32
     @Override
34
     @Override
33
     protected void createContent() {
35
     protected void createContent() {
34
         content = new FrameLayout(getContext());
36
         content = new FrameLayout(getContext());
35
-        content.setId(ViewUtils.generateViewId());
37
+        content.setId(R.id.fragment_screen_content);
36
         addContent();
38
         addContent();
37
         addFragment();
39
         addFragment();
38
     }
40
     }
73
     private void addFragment(Fragment fragment) {
75
     private void addFragment(Fragment fragment) {
74
         FragmentManager fm = activity.getFragmentManager();
76
         FragmentManager fm = activity.getFragmentManager();
75
         FragmentTransaction transaction = fm.beginTransaction();
77
         FragmentTransaction transaction = fm.beginTransaction();
76
-        transaction.add(content.getId(), fragment);
78
+        transaction.add(R.id.fragment_screen_content, fragment);
77
         transaction.commit();
79
         transaction.commit();
78
     }
80
     }
79
 
81
 
80
     private void addSupportFragment(android.support.v4.app.Fragment supportFragment) {
82
     private void addSupportFragment(android.support.v4.app.Fragment supportFragment) {
81
         android.support.v4.app.FragmentManager fm = activity.getSupportFragmentManager();
83
         android.support.v4.app.FragmentManager fm = activity.getSupportFragmentManager();
82
         android.support.v4.app.FragmentTransaction transaction = fm.beginTransaction();
84
         android.support.v4.app.FragmentTransaction transaction = fm.beginTransaction();
83
-        transaction.add(content.getId(), supportFragment);
85
+        transaction.add(R.id.fragment_screen_content, supportFragment);
84
         transaction.commit();
86
         transaction.commit();
85
     }
87
     }
86
 
88
 

+ 1
- 0
android/app/src/main/res/values/ids.xml View File

1
 <?xml version="1.0" encoding="utf-8"?>
1
 <?xml version="1.0" encoding="utf-8"?>
2
 <resources>
2
 <resources>
3
     <item name="react_root_view" type="id"/>
3
     <item name="react_root_view" type="id"/>
4
+    <item name="fragment_screen_content" type="id"/>
4
 </resources>
5
 </resources>