我有一个TextView与android:maxLength设置为3,另一个android:maxLength设置为7.
我希望焦点在第TextView一个3字符TextView填满后自动移动到第二个.如何在不继承TextView和编写自定义实现的情况下实现此目的?
我没有尝试,但这可能会奏效.
设置要在文本更改时触发的侦听器,以供此用途
addTextChangedListener(TextWatcher watcher)
Run Code Online (Sandbox Code Playgroud)
然后根据文本长度,您可以请求将焦点更改为下一个字段.
如果要查找下一个字段,可以调用View.focusSearch(View.FOCUS_FORWARD)在指定方向上查找可以获得焦点的最近视图.这实际上并不关注该视图.
对于未来的读者期待 COPY/PASTE
int MAX_LENGTH = 3;
txt1.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) {
if (s.length() == MAX_LENGTH) {
txt2.requestFocus(View.FOCUS_DOWN);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7817 次 |
| 最近记录: |