我有一个值为1的编辑文本,然后我将其更改为10并按下一个按钮。我想将值1存储在变量中,将10存储在单独的变量中。如何执行此操作?
答案 0 :(得分:0)
您可以使用editText方法addTextChangedListener
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});
答案 1 :(得分:0)
实现TextChangeListener
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
prev_value = s.toString().trim(); // will print 1
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
latest_value = s.toString().trim(); // will print 10
}
});
答案 2 :(得分:0)
1。您可以通过向input
添加addTextChangedListener
来获取editText
个值。
2。您可以使用varibale
来存储ArrayList<String>
和old
输入值,而不是使用new
。需要。
以下是一个例子:
final ArrayList<String> values = new ArrayList<>();
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
values.add(charSequence.toString());
}
@Override
public void afterTextChanged(Editable editable) {
}
});
// Use values
for (int i = 0; i < values.size(); i++) {
String value = values.get(i);
// Do something with value
}
希望这会有所帮助〜