我的问题如下:
我有两个文本视图。第一个在用户操作之后更新,在第二个中,我希望在更新前将第一个文本视图中的值存储起来。为此,我使用了如下文本处理程序:
textview1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
String X = textview1.getText().toString();
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void afterTextChanged(Editable editable) {
textview2.setText(X);
}
});但是第二个文本视图没有被正确更新.
发布于 2014-04-05 06:53:23
试试这个:
textview1.addTextChangedListener(new TextWatcher() {
String x;
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
x = charSequence.toString();
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void afterTextChanged(Editable editable) {
textview2.setText(x);
}
});发布于 2014-04-05 06:51:46
X是beforeTextChanged中的本地字符串。因此,这个X与您在afterTextChanged中使用的不一样。使用成员变量代替。
https://stackoverflow.com/questions/22877614
复制相似问题