Home > Net >  React Native Bridge Android
React Native Bridge Android

Time:02-10

I am new to this but trying to create a bridge for my react native app. The issue I am having is on init function I am just calling RCTEventEmitter but nothing is being returned to react native. Here is my code

class RandomTestView(private val context: ThemedReactContext) : RelativeLayout(
    context
) {
    var messagesList: ArrayList<String>? = null

    fun setMessages(messages: ReadableArray) {
        messagesList = ArrayList()
        if (messages != null) {
            for (i in 0 until messages.size()) {
                messages.getString(i)?.let { messagesList!!.add(it) }
            }
        }
    }

    private val activity: Activity?

    init {
        activity = context.currentActivity
        if(activity != null)
        {
            context.getJSModule(RCTEventEmitter::class.java)
                .receiveEvent(
                    id,
                    "onSizingDone", null
                )
        }
    }
}

I have also tried using RCTDeviceEventEmitter but still no luck. Weird thing is if I move the code inside the setMessages function it triggers just fine. Can anyone please help. Thanks in advance.

EDIT

setMessages function is set up as React property. Here is the definition.

@ReactProp(name = "messages")
fun setMessages(view: RandomTestView, messages: ReadableArray) {
    view.setMessages(messages)
}

CodePudding user response:

  •  Tags:  
  • Related