我的应用场景是Activity向适配器里传递数据,activity—> adapter
示例 activity代码:
/**
* 定义一个接口
*/
public interface onListener {
void OnListener(Boolean isPlayTrue);
}
/**
* 提供公共的方法,并且初始化接口类型的数据
*/
public void setListener(onListener listener) {
this.listener = listener;
}
boolean isPlayTrue = false;
//在需要触发的地方调用:
//播放标记为true
isPlayTrue = true;
if (listener != null) {
listener.OnListener(isPlayTrue);
}
示例 adapter代码:
适配器实现act的哪个接口
RecyclerItemnormalVpHolder extends RecyclerItemBaseHolder implements IndexPageActivity.onListener{
//在初始化方法里
public RecyclerItemnormalVpHolder(Context context, View v) {
super(v);
this.context = context;
ButterKnife.bind(this, v);
//imageView = new ImageView(context);
gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
IndexPageActivity indexAct = (IndexPageActivity) context;//环境强转成包含接口的类,同步监听
indexAct.setListener(this);
}
@Override
public void OnListener(Boolean isTrue) {
if (isTrue == true) {
System.out.println("555");
//播放视频
//gsyVideoPlayer.startPlayLogic();
}
}
}