Я хочу передать несколько значений EditText из RecyclerView в основную Activity. Я использовал BroadcastReceiver, чтобы справиться с этим. И addTextChangedListener используется для получения изменяющегося текста из EditText. Здесь я поделился своим кодом. Пожалуйста, проверьте и предложите решение.
Код адаптера:
holder.textBox.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(p0: Editable?) {
var texts = ArrayList<String>()
texts.add(p0.toString())
val intent = Intent("custom-message")
intent.putStringArrayListExtra("quantity", texts)
LocalBroadcastManager.getInstance(context).sendBroadcast(intent)
}
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}
})
Код MainActivity:
val broadCastReceiver = object : BroadcastReceiver() {
override fun onReceive(contxt: Context?, intent: Intent?) {
qty = intent!!.getStringArrayListExtra("quantity")
Log.d("broadCastReceiver", qty.toString())
}
}
LocalBroadcastManager.getInstance(this)
.registerReceiver(broadCastReceiver, IntentFilter("custom-message"))