首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >移动到安卓的下一代EditText

移动到安卓的下一代EditText
EN

Stack Overflow用户
提问于 2012-09-19 12:27:17
回答 8查看 62.8K关注 0票数 31

根据发布的问答How to automatically move to the next edit text in android,我使用代码移动到下一个编辑框。

代码语言:javascript
复制
et1.addTextChangedListener(new TextWatcher() {

    public void onTextChanged(CharSequence s, int start,int before, int count) 
    {
        // TODO Auto-generated method stub
        if(et1.getText().toString().length()==size)     //size as per your requirement
        {
            et2.requestFocus();
        }
    }
    public void beforeTextChanged(CharSequence s, int start,
                    int count, int after) {
                // TODO Auto-generated method stub

    }

    public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
    }

});

我面临的问题是,如果我输入了错误的内容,那么即使用户显式地请求焦点,由于文本观察器中的代码,文本框也会移动到下一个文本框。我能做些什么来防止这种情况发生吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-09-19 12:39:05

您可以检查按下第一个EditText的键,如果是"Enter“键,则将焦点移至”next EditText“。

这可能会对你有所帮助:KeyCode_Enter to next edittext

票数 13
EN

Stack Overflow用户

发布于 2015-05-20 16:18:21

如果想要将焦点放在enter EditText上,可以在XML代码中使用这些选项来关注下一个EditText:

选项1:

代码语言:javascript
复制
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionNext"
    android:singleLine="true"/>

选项2:

代码语言:javascript
复制
<EditText
    android:id="@+id/et1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:nextFocusForward="@+id/et2"/>

<EditText
    android:id="@+id/et2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"/>
票数 20
EN

Stack Overflow用户

发布于 2012-09-19 12:41:43

您需要验证用户输入以满足您的期望。如果满足该条件,则仅调用et2.requestFocus()

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12488588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档