Я создаю приложение чата в Android с использованием kotlin и хотел создать элемент группы на основе зарегистрированных пользователей.
В настоящее время я сталкиваюсь с проблемой при поиске способа передачи переменной из адаптера.возвращаясь к действиям, потому что я хочу иметь плавающую кнопку проверки и отображать, какие выбранные пользователи из этого адаптера.
Я просматриваю Интернет, но не нашел идеальной статьи об адаптации к активациям.
Пожалуйста, укажите мне некоторые решения / полезные статьи по этому поводу.Или, если этот вопрос продублирован и на него успешно ответили.
Спасибо
AddUserGroupAdapter.kt
....
override fun populateViewHolder(viewHolder: AddUsersGroupAdapter.ViewHolder?, user : Users?, position: Int) {
var userId = getRef(position).key
viewHolder!!.bindView(user!!,context)
viewHolder.itemView.setOnClickListener {
if(viewHolder.userSelected!!){
viewHolder.userSelected = false
//viewHolder!!.bindView(user!!,context)
viewHolder.userCheck!!.visibility = View.GONE
}else{
viewHolder.userSelected = true
viewHolder.userCheck!!.visibility = View.VISIBLE
}
//TODO : I want to collect the Id's into list and
// will access to the activity(AddUserGroupActivity)
//Toast.makeText(context,userId,Toast.LENGTH_LONG).show()
}
}
AddUserGroupActivity.kt
...
class AddUsersGroupActivity : AppCompatActivity() {
var mUserDatabase : DatabaseReference? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_add_users_group)
supportActionBar!!.setTitle("Add Users in Group")
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
var lineaLayoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
mUserDatabase = FirebaseDatabase.getInstance().reference
.child("Users")
rvAddUsersGroup.setHasFixedSize(true)
rvAddUsersGroup.layoutManager = lineaLayoutManager
rvAddUsersGroup.adapter = AddUsersGroupAdapter(mUserDatabase!!, this)
//TODO : This is where I wanted to have a floating action button onClickListener
//that will access the variable from adapter and display to toast.
}
}