因此,我正在尝试获取一个编辑文本,以在用户使用以下代码输入后在输入文本前加一个美元符号($)。每当我尝试在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
答案 0 :(得分:0)
您的应用程序死机,因为您进入了无限循环。在afterTextChanged内部调用setText将调用afterTextChanged。解决方法是:
ob-shell.el