ソースを参照

Emit button pressed event for buttons bound to external components

Guy Carmeli 6 年 前
コミット
7831116e62

+ 6
- 1
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentViewController.java ファイルの表示

4
 import android.support.v4.app.FragmentActivity;
4
 import android.support.v4.app.FragmentActivity;
5
 
5
 
6
 import com.facebook.react.ReactInstanceManager;
6
 import com.facebook.react.ReactInstanceManager;
7
+import com.facebook.react.bridge.ReactContext;
7
 import com.reactnativenavigation.parse.ExternalComponent;
8
 import com.reactnativenavigation.parse.ExternalComponent;
8
 import com.reactnativenavigation.parse.Options;
9
 import com.reactnativenavigation.parse.Options;
10
+import com.reactnativenavigation.react.EventEmitter;
9
 import com.reactnativenavigation.viewcontrollers.NoOpYellowBoxDelegate;
11
 import com.reactnativenavigation.viewcontrollers.NoOpYellowBoxDelegate;
10
 import com.reactnativenavigation.viewcontrollers.ViewController;
12
 import com.reactnativenavigation.viewcontrollers.ViewController;
11
 import com.reactnativenavigation.views.ExternalComponentLayout;
13
 import com.reactnativenavigation.views.ExternalComponentLayout;
31
 
33
 
32
     @Override
34
     @Override
33
     public void sendOnNavigationButtonPressed(String buttonId) {
35
     public void sendOnNavigationButtonPressed(String buttonId) {
34
-
36
+        ReactContext currentReactContext = reactInstanceManager.getCurrentReactContext();
37
+        if (currentReactContext != null) {
38
+            new EventEmitter(currentReactContext).emitOnNavigationButtonPressed(getId(), buttonId);
39
+        }
35
     }
40
     }
36
 
41
 
37
     public FragmentActivity getActivity() {
42
     public FragmentActivity getActivity() {