Maradiya Krupa
Maradiya Krupa

Reputation: 283

Trigger point from Activity to Composable function

I am receiving some data from Broadcast receiver to Activity through listeners. Now I need that data in my composable function which I have called from Activity.

class DashboardActivity : AppCompatActivity(),BarcodeScanningReceiver.BarcodeScanningReceiverInterface {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    setContent {
        AppTheme {
            LoadItemRankScreen() //composable function    
        }
    }

}
override fun barcodeData(data: String) {
    // I need to pass this data param whenever it receives here
}}

Please help me to implement best approach how can I pass this data to composable function.

Upvotes: 1

Views: 34

Answers (1)

dev.tejasb
dev.tejasb

Reputation: 578

class DashboardActivity : AppCompatActivity(),BarcodeScanningReceiver.BarcodeScanningReceiverInterface {
  
  private val barcodeDataState = mutableStateOf("")

  override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)

      setContent {
        AppTheme {
          LoadItemRankScreen(barcodeDataState.value) //composable function    
        }
      }
  }
  override fun barcodeData(data: String) {
    barcodeDataState.value = data
  }
}

Here, I've created the property barcodeDataState using mutableStateOf. Then, in the overridden function barcodeData, the value of barcodeDataState will be updated. And finally this barcodeDataState is passed to the composable.

Upvotes: 2

Related Questions