package com.quemb.qmbform.view;
import com.quemb.qmbform.descriptor.RowDescriptor;
import com.quemb.qmbform.descriptor.Value;
import android.content.Context;
import android.text.InputType;
import android.util.Log;
import android.widget.EditText;
/**
* Created by tonimoeckel on 15.07.14.
*/
public class FormEditNumberFieldCell extends FormEditTextFieldCell {
private static final String TAG = "FormEditNumberFieldCell";
public FormEditNumberFieldCell(Context context,
RowDescriptor rowDescriptor) {
super(context, rowDescriptor);
}
@Override
protected void init() {
super.init();
EditText editView = getEditView();
editView.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
}
@Override
protected void updateEditView() {
@SuppressWarnings("unchecked") Value<Number> value = (Value<Number>) getRowDescriptor().getValue();
if (value != null) {
String valueString = String.valueOf(value.getValue());
getEditView().setText(valueString);
}
}
protected void onEditTextChanged(String string) {
try {
Float floatValue = Float.parseFloat(string);
onValueChanged(new Value<Number>(floatValue));
} catch (NumberFormatException e) {
Log.e(TAG, e.getMessage(), e);
}
}
}