类似onClickListener的接口回调
1.定义一个interface
public interface myClickListener{ public void Click1(); public void Click2(); }
2.定义listener
private myClickListener listener;
3.定义一个暴露在外的方法
public void setMyClickListener(myClickListener){ this.listener = listener; }
4.在base类中或自定义控件类中调用
btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { listener.Click1(); } }); bt2.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { listener.Click2(); } });
5.外部调用(这里MyView为自定义的控件,上边有两个button可以点击)
MyView view = (MyView) findViewById(R.id.myView); btn.setMyClickListener(new BaseObject.myClickListener() { @Override public void Click1() { Toast.makeText(MainActivity.this, "left is clicked", Toast.LENGTH_SHORT).show(); } @Override public void Click2() { Toast.makeText(MainActivity.this, "right is clicked", Toast.LENGTH_SHORT).show(); } });