imageview中的Recryler如何使不可见



如何解决此问题?我想在Imageview中回收视图,但它不工作我的代码如下很抱歉我的英语不好:)这个运动在很多地方都有,但我找不到出处

class CevaplarRecylerAdapter(
private val username: ArrayList<String>,
private val comment: ArrayList<String>,
)
:RecyclerView.Adapter<CevaplarRecylerAdapter.ViewHolder>() {
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): CevaplarRecylerAdapter.ViewHolder {
val inflater=LayoutInflater.from(parent.context)
val view =inflater.inflate(R.layout.answer_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: CevaplarRecylerAdapter.ViewHolder, position: Int) {
holder.UsernameText?.text=username[position]
holder.LoadAnswerText?.text=comment[position]
}
override fun getItemCount(): Int {
return username.size
}
inner class ViewHolder(itemView:View):RecyclerView.ViewHolder(itemView){
var UsernameText:TextView?=null
var LoadAnswerText:TextView?=null
@SuppressLint("ResourceType")
var kontrol:ImageView=itemView.findViewById(R.drawable.cevap)
init {
LoadAnswerText=itemView.findViewById(R.id.LoadAnswerTexttv)
UsernameText=itemView.findViewById(R.id.UsernameTexttv)
kontrol.visibility = View.INVISIBLE; // ı want to this view make Invisiable          
}
}
interface OnItemClickListener {
}

}

在你的ViewHolderfindViewById你的imageView的id不是一个可绘制的

改变这一行

@SuppressLint("ResourceType")
var kontrol:ImageView=itemView.findViewById(R.drawable.cevap)

var kontrol:ImageView=itemView.findViewById(R.id.yourImageViewId)

找到了

class CevaplarRecylerAdapter(
private val username: ArrayList<String>,
private val comment: ArrayList<String>,
private val check:Boolean
)
:RecyclerView.Adapter<CevaplarRecylerAdapter.ViewHolder>() {
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): CevaplarRecylerAdapter.ViewHolder {
val inflater=LayoutInflater.from(parent.context)
val view =inflater.inflate(R.layout.answer_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: CevaplarRecylerAdapter.ViewHolder, position: Int) {
holder.UsernameText?.text=username[position]
holder.LoadAnswerText?.text=comment[position]
var a=true
if (a==true){
Picasso.get().load("https://firebasestorage.googleapis.com/v0/b/egitimnoktasilast.appspot.com/o/images%2F06b57525-0f40-4f86-9fae-8dc6082aab7e.jpg?alt=media&token=5183e857-2252-48b3-bbca-f96a0517ddce").into(holder.photo)
}
}
override fun getItemCount(): Int {
return username.size
}

inner class ViewHolder(itemView:View):RecyclerView.ViewHolder(itemView){
var UsernameText:TextView?=null
var LoadAnswerText:TextView?=null
var photo:ImageView?=null

init {
LoadAnswerText=itemView.findViewById(R.id.LoadAnswerTexttv)
UsernameText=itemView.findViewById(R.id.UsernameTexttv)
photo=itemView.findViewById(R.id.Rightimage)
Visibility(check)
}
fun Visibility(check: Boolean){
if (check==true){
photo!!.visibility=View.VISIBLE
}
else{
photo!!.visibility=View.INVISIBLE
}
}

}
interface OnItemClickListener {
}

}

你需要在可绘制的地方添加你的imageview的id,如下-

替换这个

var kontrol:ImageView=itemView.findViewById(R.drawable.cevap)

var kontrol:ImageView=itemView.findViewById(R.id.yourimageviewid)

最新更新