Android 自定义回调接口
博主小白,此篇文章为了加深自己对回调接口的印象 另外也为巩固已有的知识
第一步回调接口
接口名字随便命名 自己清楚意思就可以了 可以回调点击监听
长按监听
拖动监听
public interface OnTopTopicClickListener {
void onClick(View view);
}
第二步初始化接口
在你想要回调的地方 初始化这个接口
private OnTopTopicClickListener onTopTopicClickListener;
第三步给该变量设置set方法
public void setOnTopTopicClickListener(OnTopTopicClickListener onTopTopicClickListener) {
this.onTopTopicClickListener = onTopTopicClickListener;
}
第四步设置回调方法
在你初始化想要回调的组件的时候 使用该回调接口 这一句有点绕 请慢慢读 慢慢理解 看代码理解
mUPMarqueeView = findViewById(R.id.view_flipper);//初始化主页头条
findViewById(R.id.iv_headline).setOnClickListener(this);
mUPMarqueeView.setOnClickListener(view -> {
if (onTopTopicClickListener != null) {
onTopTopicClickListener.onClick(view);
}
});
第五步调用回调接口
这句话怎么理解 比如我现在 想在一个View里跳转 但是View 没有startActivity()
这个方法那怎么办?
使用回调 执行到上面四步之后 然后在你的主页面是Activity或者是Fragment都可以跳转
这样就解决了不能跳转的尴尬局面!
mHomeTopLayout.setOnTopTopicClickListener(view -> {
startActivity(new Intent(getActivity(), HeadlineActivity.class));
});