2013-08-25 37 views
1

我在我的app中输入了两个editText框,在第一个输入值后,我想按Enter键移动到下一个editText框?这是我到目前为止已经试过......在编辑文本到另一个上按Enter键?

editText1.setOnKeyListener(new OnKeyListener(){ 

    public boolean onKey(View v, int keyCode, KeyEvent event){ 
     if((event.getAction()==KeyEvent.ACTION_DOWN)&&(keyCode==KeyEvent.KEYCODE_ENTER)) 
     { 
      editText1.clearFocus(); 
      editText2.requestFocus(); 
      return true; 
     } 
     return false; 
    } 
});} 

回答

1

你有android:singleLine="true"行添加到您EditText在布局XML?或者,您也可以在代码中使用setSingleLine()进行设置。这会强制编辑文本只使用一行,而当您按Enter键时,焦点将转到下一个EditText框。请登录Handle enter key in EditText across different devices查看@Scott的answer

+0

你是对的......这确实有帮助....最初我没有想到它......谢谢 –

+0

@PrasadAinapure很高兴它帮助你。请接受其中一个答案或给出你自己的答案并接受它。这将标志着问题的解决。 :) –

1

您可以在EditText XML布局中使用很多IME选项,并请求重点关注它。例如:

<EditText 
      android:id="@+id/EditText_Search" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp" 
      android:background="@drawable/custom_search_box" 
      android:freezesText="true" 
      android:gravity="center_horizontal" 
      android:hint="Enter information" 
      android:imeOptions="actionNext" 
      android:inputType="text" 
      android:padding="10dp" 
      android:saveEnabled="true" 
      android:scrollHorizontally="true" 
      android:textColor="@color/black" /> 
    <requestFocus /> 

这个的关键是android:imeOptions设置为“下一个”。您可以将View中的最终editText设置为android:imeOptions="done",然后对其进行操作,例如登录或类似操作。并最终结束标签<requestFocus />

我希望这有助于快乐的编码!

相关问题