Android I';我在使用RecyclerView,如何为其添加意图?
我正在使用RecyclerView,我想在其中添加一个单击侦听器。我怎样才能做到这一点?这是我的适配器类供参考Android I';我在使用RecyclerView,如何为其添加意图?,android,android-listview,listview-adapter,Android,Android Listview,Listview Adapter,我正在使用RecyclerView,我想在其中添加一个单击侦听器。我怎样才能做到这一点?这是我的适配器类供参考 class ItemAdapter(var context:Context, var list:ArrayList<Items>): RecyclerView.Adapter<RecyclerView.ViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int
class ItemAdapter(var context:Context, var list:ArrayList<Items>): RecyclerView.Adapter<RecyclerView.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
var v:View=LayoutInflater.from(context).inflate(R.layout.item_row,parent,false)
return ItemHolder(v)
}
override fun getItemCount(): Int {
return list.size
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
(holder as ItemHolder).bind(list[position].name,list[position].price,list[position].picture,list[position].id)
}
class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
fun bind(n:String,p:Double,u:String,item_id:Int)
{
itemView.item_name.text=n
itemView.item_price.text=p.toString()+" "+"USD"
var web:String=("http://192.168.0.101/web%20Sales/images/"+u)
web=web.replace(" ","%20")
//Picasso.with(itemView.context).load(web).into(itemView.item_photo)
Glide.with(itemView.context).load(web).into(itemView.item_photo).toString()
itemView.item_add_photo.setOnClickListener{
UserInfo.itemId=item_id
var obj= QtyFragment()
var manager=(itemView.context as Activity).fragmentManager
obj.show(manager, "Qty")
}
itemView.det_btn.onItem
}
}
}
class ItemAdapter(var-context:context,var-list:ArrayList):RecyclerView.Adapter(){
override fun onCreateViewHolder(父级:ViewGroup,viewType:Int):RecyclerView.ViewHolder{
变量v:View=LayoutInflater.from(上下文)。充气(R.layout.item_行,父项,false)
退货物品持有人(v)
}
重写getItemCount():Int{
返回列表。大小
}
覆盖onBindViewHolder(holder:RecyclerView.ViewHolder,位置:Int){
(持有人作为项目持有人)。绑定(列表[position]。名称,列表[position]。价格,列表[position]。图片,列表[position]。id)
}
类ItemHolder(itemView:View):RecyclerView.ViewHolder(itemView){
趣味绑定(n:String,p:Double,u:String,item_id:Int)
{
itemView.item\u name.text=n
itemView.item_price.text=p.toString()+“”+“USD”
变量web:String=(“http://192.168.0.101/web%20Sales/images/“+u)
web=web.replace(“,“%20”)
//毕加索.with(itemView.context).load(web.into)(itemView.item\u照片)
Glide.with(itemView.context).load(web).into(itemView.item_photo.toString())
itemView.item_添加_photo.setOnClickListener{
UserInfo.itemId=item\u id
var obj=QtyFragment()
变量管理器=(itemView.context作为活动)。fragmentManager
目标显示(经理,“数量”)
}
itemView.det_btn.onItem
}
}
}
如果要将Click Listener设置为RecyclerView
中的项目,可以从ItemHolder
类中执行此操作-
class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var currentItem: Items? = null
var currentPosition: Int = 0
init{
itemView.item_add_photo.setOnClickListener {
currentItem?.let {
val message: String = "My item is: " + currentItem!!.name
val intent = Intent(context, YourActivity::class.java)
context.startActivity(intent)
}
}
}
fun bind(n:String,p:Double,u:String,item_id:Int)......
}
如果要将Click Listener设置为
RecyclerView
中的项目,可以从ItemHolder
类中执行此操作-
class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var currentItem: Items? = null
var currentPosition: Int = 0
init{
itemView.item_add_photo.setOnClickListener {
currentItem?.let {
val message: String = "My item is: " + currentItem!!.name
val intent = Intent(context, YourActivity::class.java)
context.startActivity(intent)
}
}
}
fun bind(n:String,p:Double,u:String,item_id:Int)......
}
尝试这种方式。单击itemView
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//enter code here
}
});
尝试这种方式。单击itemView
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//enter code here
}
});
在适配器中:
class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
...
init {
itemView.setOnClickListener{
onItemClick?.invoke(list[adapterPosition])
}
}
...
adapter.onItemClick = { item ->
//do something
))
在设置适配器的活动或片段中:
class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
...
init {
itemView.setOnClickListener{
onItemClick?.invoke(list[adapterPosition])
}
}
...
adapter.onItemClick = { item ->
//do something
))
在适配器中:
class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
...
init {
itemView.setOnClickListener{
onItemClick?.invoke(list[adapterPosition])
}
}
...
adapter.onItemClick = { item ->
//do something
))
在设置适配器的活动或片段中:
class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
...
init {
itemView.setOnClickListener{
onItemClick?.invoke(list[adapterPosition])
}
}
...
adapter.onItemClick = { item ->
//do something
))
是否要在recyclerview或recyclerview中添加侦听器?是否要在recyclerview或recyclerview中添加侦听器?请再次阅读问题!再读一遍这个问题!