2014-07-09 66 views
0

嗯,這讓我有點瘋狂。軟鍵盤上的「下一步」鍵不顯示

我有2個編輯文本字段和一個按鈕。我希望軟鍵盤在第一個編輯文本獲得焦點時顯示。我想讓軟鍵盤顯示「下一步」鍵,這樣當它按下時,光標會跳到第二個編輯文本字段。

當第二個編輯文本字段獲取光標時,我仍然希望軟鍵盤顯示「下一步」。現在按下「下一步」將關閉軟鍵盤並使焦點進入按鈕。

這裏是我的代碼:

EditText editText1 = (EditText) findViewById(R.id.some_text_field); 
EditText editText2 = (EditText) findViewById(R.id.some_other_text_field); 

editText1.setInputType(EditorInfo.some constant); 
editText1.setFocusable(true); 
editText1.setFocusableInTouchMode(true); 

if (editText1.requestFocus()){ 
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 

    if (imm != null){ 
      imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); 
    }    
} 

editText1.setImeOptions(EditorInfo.IME_ACTION_NEXT); 
editText1.setNextFocusDownId(R.id.some_other_text_field); 
editText2.setInputType(EditorInfo.some other constant); 
editText2.setFocusable(true); 
editText2.setFocusableInTouchMode(true); 
editText2.setImeOptions(EditorInfo.IME_ACTION_DONE); 

似乎非常簡單。

事情是,這是第一次運行(應用程序安裝後)editText1獲得焦點和軟鍵盤顯示,但沒有「下一步」鍵 - 而是顯示「完成」。按「完成」將您移動到editText2(如您所願)並將「完成」更改爲「下一步。點擊」下一步「現在將焦點留在editText2並關閉軟鍵盤

如果您現在觸摸editText1,顯示器和「下一步」鍵看起來像它應該。

我能做些什麼,以獲得正確的行爲(editText1獲得焦點,「下一步」顯示器)發生在該活動的第一次運行?

我以爲editText1.setImeOptions(EditorInfo.IME_ACTION_NEXT);應該強制顯示「下一步」鍵。我在想什麼?

回答

3

你有沒有嘗試過從佈局文件做同樣的事情?我在佈局文件中做了這個工作。以下是登錄我的工作代碼edittexts

<EditText 
    android:id="@+id/et_sign_in_with_email_email" 
    style="@style/SignInEditText" 
    android:layout_below="@id/rl_titlebar_signin" 
    android:layout_marginTop="16dp" 
    android:hint="@string/hint_email" 
    android:imeOptions="actionNext" 
    android:inputType="textEmailAddress" > 
</EditText> 

<EditText 
    android:id="@+id/et_sign_in_with_email_pwd" 
    style="@style/SignInEditText" 
    android:layout_below="@+id/et_sign_in_with_email_email" 
    android:layout_marginTop="20dp" 
    android:hint="@string/hint_pwd" 
    android:imeOptions="actionDone" 
    android:inputType="textPassword" /> 
+0

我提到高度和我的樣式文件中的寬度屬性。然而上面的例子顯示imeOptions – Chamu

+0

是的,我在xml中嘗試過,並沒有工作。 – user1126515

0

將焦點轉到下一個編輯字段中添加

android:imeOptions="flagNavigateNext" 

,並解僱與DONE軟鍵點擊添加

android:imeOptions="actionDone"