如何在android中将焦点从一个编辑框更改为另一个编辑框

时间:2011-06-09 06:34:42

标签: android

我有三个编辑框,它们只能在每个框上输入一个数字。当我输入第一个框的值时,焦点应该从第一个框移动到第二个。在输入值到第二个框之后,它的焦点应该是像我需要做的那样自动移到第二到第三位。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您可以使用requestFocus()API将焦点从代码中移开,
使用textWatcher继续监听文本,一旦达到指定的限制,调用EditTextreference.requestFocus()来移动焦点。

答案 1 :(得分:1)

当EditText长度大于1时,此代码将焦点从一个EditText移动到另一个。

   EditText et1,et2;

    et1 = (EditText)findViewById(R.id.id1);
    et2 = (EditText)findViewById(R.id.id2);

   et1.addTextChangedListener(new TextWatcher()
    {
        public void afterTextChanged(Editable s)
        {
            // Abstract Method of TextWatcher Interface.
        }
        public void beforeTextChanged(CharSequence s,
        int start, int count, int after)
        {
        // Abstract Method of TextWatcher Interface.
        }
        public void onTextChanged(CharSequence s,
        int start, int before, int count)
        {
            Integer textlength = et1.getText().length();
            if(textlength>=1){      //If text length greater than 1 move to next EditText

                et2.requestFocus();

            }

        }
    });