пакет com.example.shoppingcart.view.activity;
импорт android.content.Context;
импорт android.util.AttributeSet;
импорт android.view.View;
импорт android.widget.LinearLayout;
импорт android.widget.TextView;
импорт android.widget.Toast;
импорт com.example.shoppingcart.R;
общественный класс AddAndRemove расширяет LinearLayout реализует View.OnClickListener {
личное View вид;
частный TextView вычитателя;
личный номер TextView;
частный TextView добавить;
частный граф INT = 1;
общественный AddAndRemove (контекст Context) {
супер (контекст);
}
Общественного AddAndRemove (контекст Контекст, AttributeSet ATTRS) {
супер (контекст, ATTRS);
вид = View.inflate (контекст, R.layout.addandremove, это);
initView ();
}
Частная пустота initView () {
вычитатель = (TextView) view.findViewById (R.id.subtractor);
число = (TextView) view.findViewById (R.id.number);
добавить = (TextView) view.findViewById (R.id.add);
subtractor.setOnClickListener (это);
add.setOnClickListener (это);
}
@Override
общественный недействительный OnClick (View v) {
переключатель (v.getId ()) {
случай R.id.subtractor:
если (число> 1) {
count--;
number.setText (количество + " ");
// После нажатия кнопки изменения, с обратным вызовом интерфейсами передачи значений
IF (onNumberChangeListener! = NULL) {
onNumberChangeListener.changed (COUNT);
}
} еще {
Toast.makeText (getContext (), "не может быть меньше его", Toast.LENGTH_SHORT) .Show ();
}
BREAK;
Случай R. id.add:
COUNT ++;
number.setText (COUNT + ""),
после нажатия // изменяем интерфейсы обратного вызова с традиционными значениями
IF (onNumberChangeListener! = NULL) {
onNumberChangeListener.changed (COUNT);
}
BREAK;
}
}
общедоступный интерфейс onNumberChangeListener {
аннулированию изменен (INT NUM);
}
OnNumberChangeListener onNumberChangeListener;
общественного недействительными setOnNumberChangeListener (OnNumberChangeListener onNumberChangeListener) {
this.onNumberChangeListener = onNumberChangeListener;
}
Общественного INT getNumber () {
кол возврат;
}
Общественных недействительный setCount (целое Num) {
кол = Num;
number.setText (количество + " ");
}
}