android开发,edittext监听跳转的时候会先换行,然后光标再跳入下一个edittext,这是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发,edittext监听跳转的时候会先换行,然后光标再跳入下一个edittext,这是怎么回事?相关的知识,希望对你有一定的参考价值。

这是代码。

参考技术A enter按键按下才触发键盘侦听事件,所以会有enter效果。
et.setOnEditorActionListener(new TextView.OnEditorActionListener()

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
// TODO Auto-generated method stub

if(actionId==EditorInfo.IME_ACTION_UNSPECIFIED)
name.requestFocus();

return true;

);
用这个侦听方法。追问

那应该怎么解决呢?

追答

按楼下改 return true

追问

用你这个方法是可以了,但是楼下的改成return true,导致edittext不能输入,但是回车不换行,跳入下一个edittext,为什么你的却是可以的?

追答

我两个方法都没问题哦。
话说,你的onkey定义在setOnkeyListener(onkey)侦听的后面不报错吗?

追问

if(keyCode == Event.KEYCODE_ENTER)
// ... ... do your code

return true;


如果是这样,导致edittext不能输入,回车是不会换行,可以跳入下一个edittext。
运行的时候没有报错

追答

  OnKeyListener listener=new OnKeyListener()

      @Override

      public boolean onKey(View v, int keyCode, KeyEvent event)

      // TODO Auto-generated method stub

      if(keyCode==event.KEYCODE_ENTER)

      name.requestFocus();

     

      return true;

     

       ;

       et.setOnKeyListener(listener);

已经看不出问题了,还是重写下代码吧。

本回答被提问者采纳
参考技术B if(keyCode == Event.KEYCODE_ENTER)
// ... ... do your code

return true;



监听到ENTER事件后,直接返回true截获该事件,则 onKye事件不再往下分发。不然,该onKey时间会往下分发,然后也会被IME监听到。

可以试一下这样修改,看行不行追问

呃,都不能输入东西

以上是关于android开发,edittext监听跳转的时候会先换行,然后光标再跳入下一个edittext,这是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

Android——关于Activity跳转的返回(无返回值和有返回值)——有返回值

Android——关于Activity跳转的返回(无返回值和有返回值)——无返回值

关于android上面的Activity跳转传送数据的问题,请高手来指教

Android开发之EditText 详解(addTextChangedListener监听用户输入状态)

EditText监听器------实时监听

Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制