recyclerview onclicklistener kotlin
val data = list[position]holder.itemView.setOnClickListener { cellClickListener.onCellClickListener(data)}
recyclerview onclicklistener kotlin
val data = list[position]holder.itemView.setOnClickListener { cellClickListener.onCellClickListener(data)}
how to set onClickListener to RecyclerView kotlin
/*
How to set up a click listener on RecyclerView in conjunction with
an adapter and a click listener on items
NOT only *RecyclerView itemClickListener*
*RecyclerView onClickListener* and *RecyclerView itemClickListener* together
often such a solution is needed to close pop-up messages
when clicking anywhere on the screen with RecyclerView list
This code is more like a crutch but works great for me
*/
private fun CreateRecyclerView(){
val recycler_list = findViewBiId<RecyclerView>(R.id.myRecyclerViewId)
recycler_list.setOnTouchListener { v, _ ->
// if statement is return boolean value for OnTouchListener
if (layoutAttachment.visibility == View.VISIBLE || menuButtons.visibility == View.VISIBLE) {
closeOpenDialogs()
v.performClick()
} else {
false
}
}
recycler_list.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
recycler_list.setHasFixedSize(true)
recycler_list.adapter = myAdapter
recycler_list.itemAnimator = DefaultItemAnimator()
}
private fun closeOpenDialogs(){
// here do staff for you need click actions like
if (layoutAttachment.visibility == View.VISIBLE || menuButtons.visibility == View.VISIBLE) {
layoutAttachment.visibility == View.GONE
menuButtons.visibility == View.GONE
}
}
recyclerview button onclicklistener
TextView textView;//declare global with in adapter class
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private ViewHolder(View itemView) {
super(itemView);
itemView.setOnClickListener(this);
textView = (TextView)view.findViewById(android.R.id.text1);
}
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(), "position = " + getLayoutPosition(), Toast.LENGTH_SHORT).show();
//go through each item if you have few items within recycler view
if(getLayoutPosition()==0){
//Do whatever you want here
}else if(getLayoutPosition()==1){
//Do whatever you want here
}else if(getLayoutPosition()==2){
}else if(getLayoutPosition()==3){
}else if(getLayoutPosition()==4){
}else if(getLayoutPosition()==5){
}
//or you can use For loop if you have long list of items. Use its length or size of the list as
for(int i = 0; i<exampleList.size(); i++){
}
}
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us