2013-08-25 55 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 />

我希望這有助於快樂的編碼!

相關問題