0
나는 recyclerView를 구현하는 기본 Android 앱에서 Anko를 사용하고 있습니다. onCreateViewHolder()
메서드에서 형식 불일치를 말하는 컴파일 오류가 발생합니다. 아래 코드는 다른 모든 것이 좋습니다.Anko를 사용하면 형식이 일치하지 않습니다. 오류가 발생했습니다. AnkoContext <ViewGroup> Found AnkoContext <Context>
class ListAdapter(val arrayList: ArrayList<String> = ArrayList<String>()) : RecyclerView.Adapter<Holder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder? {
//type Mismatch error required AnkoContext<ViewGroup> Found AnkoContext<Context>
return Holder(ItemUI().createView(AnkoContext.create(parent!!.context)))
}
override fun onBindViewHolder(holder: Holder, position: Int) {
val item = arrayList.get(position)
holder.bind(item)
}
override fun getItemCount(): Int {
return arrayList.size
}
}
class ItemUI : AnkoComponent<ViewGroup> {
override fun createView(ui: AnkoContext<ViewGroup>): View {
return with(ui) {
verticalLayout {
lparams(width = matchParent, height = dip(48))
horizontalPadding = dip(16)
var name=textView {
id = 7
singleLine = true
textSize = 16f
}
name.onClick {
toast("Hi, ${name.text}!")
}
}
}
}
}
class Holder(itemView: View) : RecyclerView.ViewHolder(itemView){
val name: TextView = itemView.find(1)
fun bind(nm: String) {
name.text = nm
}
}
내가 잘못된 구문 또는 recyclerview
의 구현을 사용하고 있으면 알려 주시기 바랍니다는