sta*_*ner 6 android android-recyclerview
我有一个 ViewHolder 类。
class VHHeader extends RecyclerView.ViewHolder{
TextView txtTitle;
RecyclerView recyclerView;
public VHHeader(View itemView) {
super(itemView);
this.txtTitle = (TextView)itemView.findViewById(R.id.txtHeader);
this.recyclerView =(RecyclerView)itemView.findViewById(R.id.recyclerView);
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想在同一个适配器类中以一些不同的方法访问这个 View Holders recycler 视图。
Public void useRecyclerView(){
}
Run Code Online (Sandbox Code Playgroud)
如何在这个方法中使用View Holder的元素。
我认为您想在具有相同适配器的某些方法中使用您的视图持有者元素。因此,您需要在函数中传递视图支架和位置,您可以在其中使用视图支架元素。
例子。
@Override
public void onBindViewHolder(final AdapterName.ViewHolder holder, final int position) {
holder.elementname.setText(arrayList.get(position).getYourMethodName());
holder.elementname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
yourMethodName(holder,position);
}
});
}
//and in that method you can use your view holder elements.
private void yourMethodName(final AdapterName.ViewHolder holder,final int position)
{
holder.elementname.setText(arrayList.get(position).getYourMethodName());
}
//This way you can use your elements
Run Code Online (Sandbox Code Playgroud)
据我了解,您想对 recyclerview 的项目单击进行一些更改。您不需要存储您的viewholder。您可以在适配器的 onBindViewHolder 方法上设置 clicklistener,如下所示:
@Override
public void onBindViewHolder(final VHHeader holder, final int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Do your operations here like
holder.txtTitle.setText("new title");
}
});
}
Run Code Online (Sandbox Code Playgroud)
祝你好运。
| 归档时间: |
|
| 查看次数: |
16146 次 |
| 最近记录: |