一般我们在做一个项目的时候会出现许多的重复的界面使用(如界面顶面导航),一般我们使用自定义组合控件,顶部设置的点击事件我们一般都会回传给使用者来调用,这是就用到了接口回调。我写了一个最简单的例子来理解接口回调。
public class TitleView extends RelativeLayout{ private ImageView back; private TextView title; private OnBackClickListener onBackClickListener; public TitleView(Context context, AttributeSet attrs) { super(context, attrs); initView();
initListener(); } private void initView() { View inflate = View.inflate(getContext(), R.layout.titleview, this); back = (ImageView) inflate.findViewById(R.id.activate_back); title = (TextView) inflate.findViewById(R.id.title); }
private void initView() {
}back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (onBackClickListener != null) { onBackClickListener.onbackClickListener(v); } } });
public void setTitle(String str) {
title.setText(str);
}
public void setOnBackClickListener(OnBackClickListener onBackClickListener) {
this.onBackClickListener = onBackClickListener;
}
public interface OnBackClickListener {
void onbackClickListener(View v);
}
}