我在一个活动中有recyclerview。我在每个项目中都有一些视图。假设一个textview,我正在那个特定的视图上实现一个点击监听器。
但是,在某些情况下,我必须调用该textview特定位置的clicklistener。
因为没有函数可以调用该位置的onclick。
我认为holder.itemview.callonclick()可以工作。但这不起作用。
有什么方法可以调用recyclerview的特定位置的itemview的textview。
答案 0 :(得分:1)
您可以使用如下界面创建自定义点击侦听器。
public interface ClickInterface {
public void recyclerviewOnItemClick(int position);
}
确保在要执行代码的类上实现此接口并实现其方法。然后,您可以将此列表器的引用传递给适配器,像这样。
TestAdapter adapetr = new TestAdapter (this);
listview.setAdapter(adapter);
在适配器中:
private ClickInterface clickInterface;
public TestAdapter (ClickInterface clickInterface) {
this.clickInterface = clickInterface;
}
viewHolder.txtview.setOnClickListener(v ->
clickInterface.recyclerviewOnItemClick(position));
-单击textview时,将实现方法调用。
答案 1 :(得分:0)
您可以在Holder类中尝试这样,
mTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (getAdapterPosition()== YOUR_POS)
{
code..
}
}
});
或在onBindViewHolder中,`
if(i==YOUR_POS){ holder.mTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
code..
}
});}