Cuando un usuario presiona btnOpen en el FirstFragment, creará una actividad. Cuando hace clic en btnDone en SecondActivity, debe cerrar la actividad y devolver una String al fragmento.
Primer Fragmento.kt
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { btnOpen.setOnClickListener { var someActivityResultLauncher = registerForActivityResult( StartActivityForResult(), ActivityResultCallback<ActivityResult> { result -> println(result.data) }) val intent = Intent(context, SecondActivity::class.java) activityLauncher.launch(intent) } }SecondActivity.kt
override fun onCreate(savedInstanceState: Bundle?) { btnDone.setOnClickListener{ val intent = Intent(this@InputAmountActivity,FirstFragment::class.java) intent.putExtra("Total","some data") finish() } } Me estoy volviendo nulo cuando intento imprimir result.data . ¿Cómo obtengo exactamente el valor del total de SecondActivity?
En este momento, está creando un Intent y luego simplemente desechándolo sin hacer nada con él. Debe usar setResult() para enviarlo de regreso a su primera actividad:
btnDone.setOnClickListener{ val intent = Intent(this@InputAmountActivity,FirstFragment::class.java) intent.putExtra("Total","some data") setResult(Activity.RESULT_OK, intent) finish() }