我有一个具有以下结构的活动

 - LinearLayout
  - EditText (Username)
  - EditText (Password)
  - Button (Login)


我希望当用户将注意力集中在第二个EditText上时,而不是在键盘上显示NEXT,而是显示“ DONE”或“ GO”,并通过按下它来引发我按钮的单击事件。
这可能吗?

最佳答案

是的,可能,只需使用以下代码:

    mUserID.setImeOptions(mUserID.getImeOptions()|EditorInfo.IME_ACTION_NEXT);
    mUserPass.setImeOptions(mUserPass.getImeOptions()|EditorInfo.IME_ACTION_DONE);
    mUserPass.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView pView, int pActionId, KeyEvent pEvent) {
            if (pActionId == EditorInfo.IME_ACTION_DONE) {
                // Do something
                return true;
            }
            return false;
        }
    });

08-05 04:40