每当激活OnTextChanged时,EditText就会锁定我的应用程序

时间:2018-11-09 20:07:58

标签: android android-edittext

因此,我正在尝试获取一个编辑文本,以在用户使用以下代码输入后在输入文本前加一个美元符号($)。每当我尝试在edittext中输入任何内容时,它都会锁定整个应用程序。我尝试删除代码,并且该框工作正常。我应该改变什么?还是应该使用完全不同的解决方案?

代码:

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) 
        { }
    });

我需要完成文本更改之前和之前的替代吗? 作为参考,我从另一个线程这里获得了此代码框架:Adding Dollar Sign ($) Automatically In Edit Text for Android Studio

1 个答案:

答案 0 :(得分:0)

您的应用程序死机,因为您进入了无限循环。在afterTextChanged内部调用setText将调用afterTextChanged。解决方法是:

ob-shell.el