以前不同类之间的交互,是提供方法,让其他的类调用,
后来发现,使用接口,实现不同类间的数据交互,是个不错的方法, 面向接口编程
一,我想在activyt里面拿到viewholder,首先定义个接口,
public interface MyListener {
public void onMyListener(BaseViewHolder viewHolder);
}
二,在adapter里传入接口
public void setMyListener(MyListener listener) {
this.myListener = listener;
}
三,在adapter的ononMBindViewHolder里面点击的时候,把holder传出去
@Override
public void onMBindViewHolder(final BaseViewHolder holder, int position) {
final MHolder mHolder = (MHolder) holder;
mHolder.tv.setText(mDatas.get(position));
if (dragListener != null) {
mHolder.tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myListener.onStartDrag(holder);
}
});
}
}
四,让activy实现MyListener接口
public class TouchActivity extends Activity implements MyListener{
@Override
public void onMyListener(BaseViewHolder viewHolder) {
}
}
只需要四部就拿到了viewholder,