java Android应用程序addTextChangedListner
我的代码有问题,当我有超过1个textChangeListener时,它会崩溃。 我认为问题在于不止一次地使用“new TextWatcher”,但我不知道该改成什么
我刚刚开始学习java和应用程序开发,所以代码和变量有点混乱
守则:
editMiles.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
strMiles = 0 + editMiles.getText().toString();
intMiles = Integer.parseInt(strMiles);
editKnots.setText("" + intMiles * 1.15078);
editKilometers.setText("" + intMiles * 1.852);
}
@Override
public void afterTextChanged(Editable s) {
}
});
editBeaufort.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
strBeaufort = 0 + editBeaufort.getText().toString();
intBeaufort = Integer.parseInt(strBeaufort);
editKnots.setText("");
editKilometers.setText("");
editMiles.setText("");
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
# 1 楼答案
您必须从EditText的ContextChanged参数中获取输入(字符序列)。因此,您的代码将是
我希望它对你有用 您必须为您的计算提供正确的输入,如果您想要输入int,您必须将字符串解析为int,或者如果您想要输入为double,将字符串解析为double并抛出异常