用getter setter填充recyclerview

时间:2018-09-20 12:20:13

标签: android google-maps android-recyclerview android-viewholder

是否可以在viewHolder中设置setCoordinate而不在其他布局中设置getCoordinate?我可以举个例子吗?这是我的viewHolder示例:

import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class myHolder extends RecyclerView.ViewHolder implements 
View.OnClickListener {
//views

ImageView mImageIv;
TextView mTitleTv, mDescrTv;

ItemClickListener itemClickListener;



myHolder(@NonNull View itemView) {
    super(itemView);

    this.mImageIv = itemView.findViewById(R.id.Model_ImageIv);
    this.mDescrTv = itemView.findViewById(R.id.Model_DescrTv);
    this.mTitleTv = itemView.findViewById(R.id.Model_TitleTv);
    itemView.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    this.itemClickListener.onItemClick(v, getLayoutPosition());
}
public void setItemClickListener(ItemClickListener ic){
    this.itemClickListener =  ic;
}

}

2 个答案:

答案 0 :(得分:0)

您可以将任何方法添加到ViewHolder。

然后您可以使用:

recyclerView.findViewHolderForAdapterPosition(position);

recyclerView.findContainingItemView(view);
recyclerView.findViewHolderForLayoutPosition(position);
recyclerView.findViewHolderForItemId(id);

查找ViewHolder并调用getCoordinate()

答案 1 :(得分:0)

过去,此操作是从保存完整数据集的适配器进行管理的。您可以更新所需的项目,然后调用notifyDataSetChanged()方法。