嗯,這讓我有點瘋狂。軟鍵盤上的「下一步」鍵不顯示
我有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);應該強制顯示「下一步」鍵。我在想什麼?
我提到高度和我的樣式文件中的寬度屬性。然而上面的例子顯示imeOptions – Chamu
是的,我在xml中嘗試過,並沒有工作。 – user1126515