In my activity I have three EditText
fields, when ever I enter value into the any of the EditText
the other two EditText
fields to be updated, suppose in EditText
A I entered value 4, the EditText
B should have its decimal value and EditText
C should have its binary value. I am trying to use the text watcher but it is somehow not working, can someone point me I right direction how can I parallel update the EditText
.
edditvalue.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
String qtyString = s.toString().trim();
hexToBin(qtyString);
}
});
Methods:
public double hextodecimal(String s){
double r = 0;
if(s.equals("a") || s.equals("b") || s.equals("c") ||
s.equals("d") || s.equals("e") ||s.equals("f") )
{
r = Integer.parseInt(s, 16 );
r= (double) r;
}
else
{
r = Integer.parseInt(s, 16 );
}
return r;
}
public static String hexToBin(String s) {
String k = new BigInteger(s, 16).toString(2);
return new BigInteger(s, 16).toString(2);
}
I tried your code and just added setText
calls. Its printing values in EditTexts properly.
editText1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
String qtyString = s.toString().trim();
//you would need to handle your code in this manner so app doesn't crash if user hits backspace and removes all entered characters
if(qtyString.length() > 0){
editText2.setText(hexToBin(qtyString));
editText3.setText(String.valueOf(hextodecimal(qtyString)));
}
else {
editText2.setText("");
editText3.setText("");
}
}
});
Hope this helps.
P.S: Make sure to use inputType
properly, else your app will crash if user enters character in editText1