【发布时间】:2020-02-26 15:43:27
【问题描述】:
在我的 Android 应用程序中。我有一个 EditText 和 Textview.in Edittext 用户需要 输入金额。当他在编辑文本中输入金额时,在 textview 中它必须 显示总价值(税收价值的加法)。如何做到这一点。
【问题讨论】:
标签: android android-edittext ontouchlistener
在我的 Android 应用程序中。我有一个 EditText 和 Textview.in Edittext 用户需要 输入金额。当他在编辑文本中输入金额时,在 textview 中它必须 显示总价值(税收价值的加法)。如何做到这一点。
【问题讨论】:
标签: android android-edittext ontouchlistener
您可以为此使用 textwatcher。
editText.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) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
【讨论】:
您必须为您的 EditText 添加一个 TextWatcher 作为 TextChangeListener:
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int start, int before, int count) {
}
@Override
public void onTextChanged(CharSequence charSequence, int start, int count, int after) {
mTextView.setText(mEditText.getText().toString());
}
@Override
public void afterTextChanged(Editable editable) {
}
});
【讨论】:
EditText Et = (EditText) findViewById(R.id.editTextID);
Et.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
// You need to write your code here when user need to enter the amount.
});
【讨论】:
我添加了示例代码,它会持续观察 edittext 的变化并进行一些操作,然后在 textview 中更新该值。我希望这将有所帮助。请遵循命名约定。
EditText 编辑 = (EditText) findViewById(R.id.editText1);
edit.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
TextView twxt = (TextView) findViewById(R.id.textView1);
Double sum = 0.00;
Double userValue = 0.00;
// TODO Auto-generated method stub
try {
userValue = Double.valueOf(s.toString());
} catch (Exception e) {
e.printStackTrace();
}
sum = 2 * (sum + userValue);
twxt.setText(String.valueOf(sum));
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
【讨论】: