I am working on an Android application.In my app I have to use images based on the text.So I write OnChangeListener()
for EditText
.The following is my sample code.
edt.addTextChangedListener(this);
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
CharSequence cs=convert(edt.getText.toString());
edt.setText(cs);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
But I am getting Exception for the above code.I know the reason for the exception is calling setText()
from afterTextChanged()
method. But I have to change the EditText
text value based on the same EditText
text change.Help me friends
This example demonstrates how do I set only numeric value for editText in Android. Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project. Step 2 − Add the following code to res/layout/activity_main. xml.
If you want your disabled EditText to look the same as your enabled one, you should use android:enabled="false" in combination with android:textColor="..." . Show activity on this post. Used this if you have an icon to be clickable, this works for me.
Simply use toString() on the Editable instance to get String.
One more solution can be to use boolean variable, so that it doesn't get into infinite callstack and eventually giving stackoverflow exception
public void afterTextChanged(Editable s) {
if(!flag)
{
flag = true;
edt.setText("string");
flag = false;
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With