본문 바로가기
개발노트/Kotlin

8주차 2일 item 클릭/ 레이아웃의 기능

by 시계속세상은아직돌아가는중 2023. 8. 29.

1. item click

class MainAdapter(
private val context: Context
) : RecyclerView.Adapter<MainAdapter.ViewHolder>() {

..이전코드들

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        val item = SellerDB.sellerModelDB[position]
        holder.bind(item)
        holder.itemView.setOnClickListener {
            val intent = Intent(context, DetailActivity::class.java)
            intent.putExtra(SELLER, item)
            context.startActivity(intent)
        }
    }
    
    ..이전코드들
 }
//main에서
    private val mainAdapter by lazy {
        MainAdapter(this@MainActivity)
    }

 

 

 

2.레이아웃의 기능

<TextView
        android:id="@+id/item_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="12dp"
        android:ellipsize="end"
        android:maxLines="2"
        android:text="제목이들어가는자리입니다.제목이들어가는자리입니다.제목이들어가는자리입니다."
        android:textSize="18dp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@id/cardView"
        app:layout_constraintTop_toTopOf="parent" />

이 부분은 이전에도 사용했던 부분이지만, 반복해서 잊지 않기 위함이다.

width나 height를 0dp로 설정하면, constraint를 해준 값들로 해당 값들이 자동으로 바뀐다.

따라서 필요에 따라 width와 height는 0dp로 지정하고 end  start/혹은 top bottom으로 제어가 가능하다

 

따라서 이 기능을 잊지말자!