如果在一个字段中点击任何字母,如何将光标从一个EditText移动到另一个EditText?

8

我想将光标从EditText1移动到另一个EditText2。我已经将焦点放在了editText1,但怎样将光标移到editText2?


在你的 EditText1 上或许可以添加一个 TextWatcher - Aprian
请查看我在此处的答案:https://dev59.com/ZGox5IYBdhLWcg3wvWwy#9003285。这可能会有所帮助。 - Hiral Vadodaria
感谢 Aprian 和 Hiral 的帮助。 现在它正在工作,TextWatcher 帮了我一个大忙..... - anoop
5个回答

14

最终我得到了答案:

 editText1.addTextChangedListener(new TextWatcher() {

                public void onTextChanged(CharSequence s, int start, int before,
                        int count) {
                    Integer textlength1 = editText1.getText().length();

                    if (textlength1 >= 1) { 
                        editText2.requestFocus();
                    }
                }

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

                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                        int after) {
                    // TODO Auto-generated method stub
                }
            });

            editText2.addTextChangedListener(new TextWatcher() {

                public void onTextChanged(CharSequence s, int start, int before,
                        int count) {
                    Integer textlength2 = editText1.getText().length();

                    if (textlength2 >= 1) {
                        editText3.requestFocus();

                    }
                }

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

                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                        int after) {
                    // TODO Auto-generated method stub

                }
            });

4

我能理解你的回答,

但是还有另一种简单的方法可以使用以下属性:

android:imeOptions="actionNext"

示例:

<EditText
android:hint="@string/hint_user_name"
android:id="@+id/et_user_name"
android:maxLines="2"
style="@style/EditText_Login"
android:imeOptions="actionNext" 
/>

Thanks,


0
android:inputType="textEmailAddress"//Add this line

1
你的答案可以通过添加更多关于代码作用和如何帮助提问者的信息来改善。 - Tyler2P

0
  EditText editText1 = (EditText)findViewById(R.id.editText1 );
  EditText editText2 = (EditText)findViewById(R.id.editText2);


editText1.setOnKeyListener(new OnKeyListener() {

public boolean onKey(View v, int keyCode, KeyEvent event) {
      // If the event is a key-down event on the "enter" button
      if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
           (keyCode == KeyEvent.KEYCODE_ENTER))
      {
            // Perform action on Enter key press
            editText1.clearFocus();
            editText2.requestFocus();
            return true;
      }
      return false;
}
});

0

在您的edittext1点击代码中设置属性...

EditText2.requestFocus();


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接