Skip to content
Snippets Groups Projects
Commit 31d69513 authored by Maxime Graulich's avatar Maxime Graulich
Browse files

Android: allow user to change value in TextEdit

parent f80a2484
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,8 @@ import android.view.View; ...@@ -5,6 +5,8 @@ import android.view.View;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.text.TextWatcher;
import android.text.Editable;
class Stepper extends LinearLayout{ class Stepper extends LinearLayout{
...@@ -36,6 +38,16 @@ class Stepper extends LinearLayout{ ...@@ -36,6 +38,16 @@ class Stepper extends LinearLayout{
dec(); dec();
} }
}); });
_valTxt.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s){}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count) {
try {
setValueButText(Integer.parseInt(s.toString()));
}
catch (NumberFormatException e) {}
}
});
} }
public interface OnValueChangedListener { public interface OnValueChangedListener {
...@@ -50,13 +62,16 @@ class Stepper extends LinearLayout{ ...@@ -50,13 +62,16 @@ class Stepper extends LinearLayout{
public void setMaximum(int max){_max = max;} public void setMaximum(int max){_max = max;}
public void setMinimum(int min){_min = min;} public void setMinimum(int min){_min = min;}
public void setValue(int val){ public void setValue(int val){
setValueButText(val);
_valTxt.setText(Integer.toString(_val));
}
public void setValueButText(int val){
if(_max > _min) { if(_max > _min) {
if(val == _max) _incBtn.setEnabled(false); if(val == _max) _incBtn.setEnabled(false);
else if(val == _min) _decBtn.setEnabled(false); else if(val == _min) _decBtn.setEnabled(false);
else {_incBtn.setEnabled(true); _decBtn.setEnabled(true);} else {_incBtn.setEnabled(true); _decBtn.setEnabled(true);}
} }
_val = val; _val = val;
_valTxt.setText(Integer.toString(_val));
if(_listener != null) _listener.onValueChanged(); if(_listener != null) _listener.onValueChanged();
} }
public int getMaximum(){return _max;} public int getMaximum(){return _max;}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment