RecyclerView按钮适配器更改选定的按钮后背底色和其他不

时间:2019-05-02 20:42:00

标签: android kotlin android-recyclerview recycler-adapter

在我的RecyclerView按钮列表中->打开单击所选按钮尝试更改背景颜色(通过setBackgroundResource)。但是,当我单击其他按钮时,以前选择的按钮仍然保留背景颜色,我想将其设置为默认颜色

Please click to find the UI Image here

//this is Button in user.xml

<Button
            android:text="Button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/user_button"
            android:background="@drawable/border_button"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>


//my  adapter class

class  ButtonAdapter() : RecyclerView.Adapter<ButtonAdapter.ViewHolder>() {



private val dataTest = arrayListOf("user1", "user2" , "user3" , "user4")

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
       val view: View = LayoutInflater.from(parent.context).inflate(R.layout.user,parent , false)

        return ViewHolder(view)
    }


override fun getItemCount() = dataTest.size

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        holder.bindItem(dataTest[position])
    }




class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
   fun bindItem(item : String)  {
      itemView.user_button?.text = item // this will be text in Button

    itemView.user_button?.setOnClickListener{

 itemView.user_button.setBackgroundResource(R.drawable.border_background_chnaged) 



       }

 }


}

0 个答案:

没有答案