自动关注下一个textview

时间:2010-05-31 11:20:20

标签: android textview

我的TextView android:maxLength设置为3,另一个android:maxLength设置为7

我希望焦点在第一个TextView的{​​{1}}字符填满后自动移至第二个3。如何在不继承TextView和编写自定义实现的情况下实现这一目标?

2 个答案:

答案 0 :(得分:6)

我没有尝试,但这可能会奏效。

设置要在文本更改时触发的侦听器,以供此用途

addTextChangedListener(TextWatcher watcher)

然后根据文本长度,您可以请求将焦点更改为下一个字段。

如果您想查找下一个字段,可以调用View.focusSearch(View.FOCUS_FORWARD)在指定方向找到可以获得焦点的最近视图。这实际上并不关注该观点。

答案 1 :(得分:5)

对于期待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) {
    }
});