EditText locks up my app whenever OnTextChanged activates
up vote
0
down vote
favorite
So, I am trying to get an edit text to put a dollar sign ($) in front of the input text after a user enters it using the following code. Whenever I try to enter anything into the edittext it locks the whole app. I have tried removing the code and the box works fine. What should I change? Or should I use an entirely different solution?
Code:
final EditText minAmt = fragView.findViewById(R.id.minPayment);
minAmt.addTextChangedListener(new TextWatcher()
@Override
public void afterTextChanged(Editable s)
minAmt.setText("$" + minAmt.getText().toString());
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
);
Do I need to finish the overrides for on- and before- text changed?
For reference, I got this code frame from another thread here: Adding Dollar Sign ($) Automatically In Edit Text for Android Studio
android android-edittext
add a comment |
up vote
0
down vote
favorite
So, I am trying to get an edit text to put a dollar sign ($) in front of the input text after a user enters it using the following code. Whenever I try to enter anything into the edittext it locks the whole app. I have tried removing the code and the box works fine. What should I change? Or should I use an entirely different solution?
Code:
final EditText minAmt = fragView.findViewById(R.id.minPayment);
minAmt.addTextChangedListener(new TextWatcher()
@Override
public void afterTextChanged(Editable s)
minAmt.setText("$" + minAmt.getText().toString());
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
);
Do I need to finish the overrides for on- and before- text changed?
For reference, I got this code frame from another thread here: Adding Dollar Sign ($) Automatically In Edit Text for Android Studio
android android-edittext
1
It locks the whole app
means what?
– Xenolion
Nov 9 at 20:10
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
So, I am trying to get an edit text to put a dollar sign ($) in front of the input text after a user enters it using the following code. Whenever I try to enter anything into the edittext it locks the whole app. I have tried removing the code and the box works fine. What should I change? Or should I use an entirely different solution?
Code:
final EditText minAmt = fragView.findViewById(R.id.minPayment);
minAmt.addTextChangedListener(new TextWatcher()
@Override
public void afterTextChanged(Editable s)
minAmt.setText("$" + minAmt.getText().toString());
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
);
Do I need to finish the overrides for on- and before- text changed?
For reference, I got this code frame from another thread here: Adding Dollar Sign ($) Automatically In Edit Text for Android Studio
android android-edittext
So, I am trying to get an edit text to put a dollar sign ($) in front of the input text after a user enters it using the following code. Whenever I try to enter anything into the edittext it locks the whole app. I have tried removing the code and the box works fine. What should I change? Or should I use an entirely different solution?
Code:
final EditText minAmt = fragView.findViewById(R.id.minPayment);
minAmt.addTextChangedListener(new TextWatcher()
@Override
public void afterTextChanged(Editable s)
minAmt.setText("$" + minAmt.getText().toString());
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
);
Do I need to finish the overrides for on- and before- text changed?
For reference, I got this code frame from another thread here: Adding Dollar Sign ($) Automatically In Edit Text for Android Studio
android android-edittext
android android-edittext
asked Nov 9 at 20:07
Tyler Depies-Bobrowitz
52
52
1
It locks the whole app
means what?
– Xenolion
Nov 9 at 20:10
add a comment |
1
It locks the whole app
means what?
– Xenolion
Nov 9 at 20:10
1
1
It locks the whole app
means what?– Xenolion
Nov 9 at 20:10
It locks the whole app
means what?– Xenolion
Nov 9 at 20:10
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
Your app freezes because you enter an infinite loop. Calling setText inside afterTextChanged will call afterTextChanged. The solution is :
@Override
public void afterTextChanged(Editable s)
minAmt.removeTextChangedListener(this);
minAmt.setText("$" + minAmt.getText().toString());
minAmt.addTextChangedListener(this);
1
Awesome! Thank you, I missed that possibility in the documentation for the two.
– Tyler Depies-Bobrowitz
Nov 11 at 20:26
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
Your app freezes because you enter an infinite loop. Calling setText inside afterTextChanged will call afterTextChanged. The solution is :
@Override
public void afterTextChanged(Editable s)
minAmt.removeTextChangedListener(this);
minAmt.setText("$" + minAmt.getText().toString());
minAmt.addTextChangedListener(this);
1
Awesome! Thank you, I missed that possibility in the documentation for the two.
– Tyler Depies-Bobrowitz
Nov 11 at 20:26
add a comment |
up vote
0
down vote
accepted
Your app freezes because you enter an infinite loop. Calling setText inside afterTextChanged will call afterTextChanged. The solution is :
@Override
public void afterTextChanged(Editable s)
minAmt.removeTextChangedListener(this);
minAmt.setText("$" + minAmt.getText().toString());
minAmt.addTextChangedListener(this);
1
Awesome! Thank you, I missed that possibility in the documentation for the two.
– Tyler Depies-Bobrowitz
Nov 11 at 20:26
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
Your app freezes because you enter an infinite loop. Calling setText inside afterTextChanged will call afterTextChanged. The solution is :
@Override
public void afterTextChanged(Editable s)
minAmt.removeTextChangedListener(this);
minAmt.setText("$" + minAmt.getText().toString());
minAmt.addTextChangedListener(this);
Your app freezes because you enter an infinite loop. Calling setText inside afterTextChanged will call afterTextChanged. The solution is :
@Override
public void afterTextChanged(Editable s)
minAmt.removeTextChangedListener(this);
minAmt.setText("$" + minAmt.getText().toString());
minAmt.addTextChangedListener(this);
answered Nov 9 at 20:14
Whole Brain
146111
146111
1
Awesome! Thank you, I missed that possibility in the documentation for the two.
– Tyler Depies-Bobrowitz
Nov 11 at 20:26
add a comment |
1
Awesome! Thank you, I missed that possibility in the documentation for the two.
– Tyler Depies-Bobrowitz
Nov 11 at 20:26
1
1
Awesome! Thank you, I missed that possibility in the documentation for the two.
– Tyler Depies-Bobrowitz
Nov 11 at 20:26
Awesome! Thank you, I missed that possibility in the documentation for the two.
– Tyler Depies-Bobrowitz
Nov 11 at 20:26
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232647%2fedittext-locks-up-my-app-whenever-ontextchanged-activates%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
It locks the whole app
means what?– Xenolion
Nov 9 at 20:10