Преглед на файлове

Set FragmentScreen content to fixed xml defined ID. Fixes race condition.

Yedidya Kennard преди 8 години
родител
ревизия
d90aec5867
променени са 2 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 5
    3
      android/app/src/main/java/com/reactnativenavigation/screens/FragmentScreen.java
  2. 1
    0
      android/app/src/main/res/values/ids.xml

+ 5
- 3
android/app/src/main/java/com/reactnativenavigation/screens/FragmentScreen.java Целия файл

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

+ 1
- 0
android/app/src/main/res/values/ids.xml Целия файл

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