类里面的接口
1.接口创建
创建公共接口
//1.接口
public interface OnNumberChangeListener {//类里面的接口
void onNumberChange(int value);
}
创建公共方法并转成员变量
private OnNumberChangeListener mOnNumberChangeListener;
//公共方法
public void setOnNumberChangeListener(OnNumberChangeListener listener) {
this.mOnNumberChangeListener = listener;//2.将方法转为成员变量
}
接口控件设置监听
private void setUpEvent() {
//3.首先在它的控件上设置监听,里面有方法
mMinusTv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mCurrentNumber--;
updateText();
}
});
mPlusTv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mCurrentNumber++;//先加,后再更新
updateText();
}
});
}
private void updateText() {
mValueEdt.setText(String.valueOf(mCurrentNumber));
//3.
if (mOnNumberChangeListener != null) {
mOnNumberChangeListener.onNumberChange(this.mCurrentNumber);
}
}
2.接口回调出去,调用
public class MainActivity extends AppCompatActivity implements InputNumberView.OnNumberChangeListener {
private static final String TAG = "MainActivity";
private InputNumberView myView_inv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
myView_inv.setOnNumberChangeListener(this);
}
private void initView() {
myView_inv = (InputNumberView) findViewById(R.id.MyView_inv);
}
@Override
public void onNumberChange(int value) {
Log.d(TAG, "onNumberChange: "+value);
}
}