在 Android 中自动显示从编辑文本(由用户输入)到文本视图的整数值,无需任何操作(例如 onButtonClick)
Display automatically an Integer value from Edit Text (entered by the user) to Text View without any actions (such as onButtonClick) in Android
尝试从用户输入的Edit Text中得到一个整数(比如Total Amount)并乘以数值(比如5%)来显示,并自动使用TextView显示。
对于第 1 部分,即简单地显示从 EditText 到 TextView 的整数得到 NumberFormatException 错误。
'''
temp = (Integer.parseInt(editText.getText().toString()));
textView.setText(温度);
'''
而第二部分,即自动显示从 EditText 到 TextView 的值,不知道如何处理。
只需使用 textwatcher 并将逻辑放入其中。只需确保更改 edittext
和 textview
的 ID
et.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) {
String value = s.toString();
double outputValue = Integer.parseInt(value) * 0.05;
textView.setText(String.valueOf(outputValue));
}
});
确保在 edittext 中它只捕获 numerical 值。
你可以试试这个方法
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) {
String userInputText = s.toString();
try {
val userInputAsNumbger = userInputText.toInt();
}catch (e:NumberFormatException){
print(e.message)
}
}
});
确保不会出错
尝试从用户输入的Edit Text中得到一个整数(比如Total Amount)并乘以数值(比如5%)来显示,并自动使用TextView显示。
对于第 1 部分,即简单地显示从 EditText 到 TextView 的整数得到 NumberFormatException 错误。
''' temp = (Integer.parseInt(editText.getText().toString()));
textView.setText(温度);
'''
而第二部分,即自动显示从 EditText 到 TextView 的值,不知道如何处理。
只需使用 textwatcher 并将逻辑放入其中。只需确保更改 edittext
和 textview
et.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) {
String value = s.toString();
double outputValue = Integer.parseInt(value) * 0.05;
textView.setText(String.valueOf(outputValue));
}
});
确保在 edittext 中它只捕获 numerical 值。
你可以试试这个方法
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) {
String userInputText = s.toString();
try {
val userInputAsNumbger = userInputText.toInt();
}catch (e:NumberFormatException){
print(e.message)
}
}
});
确保不会出错