Я хочу обновить TextView в основном действии из пользовательского объекта.
Пользовательский объект - это средство выбора номера, написанное с нуля.Он имеет EditText и 2 кнопки (+/-).Моя цель состоит в том, чтобы, когда пользователь нажимал кнопку + или -, TextView обновлялся этим значением.
Теперь я могу думать о 2 возможных решениях:
- Пользовательский объект обновляет TextView при нажатии кнопки + или - (внутри onClickListener).
- Я определяю другой класс, который расширяет пользовательский инструмент выбора, с логикой для обновления просмотра текста.
Но моя проблема в том, что я хочу сохранить логику textView вне пользовательского средства выбора (поэтому, если возможно, иметь функцию обновления внутри действия).Есть решение этой проблемы?
XML-код custompicker выглядит следующим образом:
<org.croncalc.MyPicker android:id="@+id/hourpicker"
android:orientation="vertical"
android:layout_width="65dp"
croncalc:maxnumber="24"
croncalc:minnumber="1"
croncalc:step="5"
croncalc:cycle="true"
android:layout_height="wrap_content">
Вот снимок экрана
Я хочу, чтобы каждый раз, когда один из средств выбора менял свое значение, textviewв правом углу будет обновлено.
Если полезно, здесь код onClick () для кнопок +/-:
OnClickListener clickListener = new OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.decbtn:
step(-1);
break;
case R.id.incbtn:
default:
step(1);
break;
}
}
};
private void step(int step) {
current += step;
if (step > 0) {
decButton.setEnabled(true);
if ( current > maxNumber) {
if(cycle){
current-=maxNumber;
} else {
current=maxNumber;
incButton.setEnabled(false);
incButton.setPressed(false);
}
}
} else {
incButton.setEnabled(true);
if ( current < minNumber) {
if(cycle){
current+= maxNumber;
} else {
current=minNumber;
decButton.setEnabled(false);
decButton.setPressed(false);
}
}
}
pickerText.setText(Integer.toString(current));
}
Заранее спасибо.Иван