1

내 응용 프로그램의 편집 텍스트에 텍스트를 입력 할 때 '완료'키를 표시하려면 softkeyboard가 필요합니다. Android 2.1 기기에서는 '완료'버튼이 표시되지만 2.3 이상에서는 표시되지 않습니다.소프트 키 보드에 '완료'키 표시

e.setImeOptions(EditorInfo.IME_ACTION_DONE); 

    e.setOnEditorActionListener(
      new EditText.OnEditorActionListener() { 
       @Override 
       public boolean onEditorAction(TextView v, int actionId,KeyEvent event) { 
        if (actionId == EditorInfo.IME_ACTION_SEARCH || 
          actionId == EditorInfo.IME_ACTION_DONE || 
          event.getAction() == KeyEvent.ACTION_DOWN && 
          event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { 
         Toast.makeText(getBaseContext(), e.getText().toString(), Toast.LENGTH_SHORT).show(); 

         InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
         imm.hideSoftInputFromWindow(e.getWindowToken(), 0); 

         return true; 
        } 
        return false; 
       } 
      }); 

나는 안드로이드 버전 2.3.4와 삼성 장치를 사용하고 있습니다 :

은 내가 사용하는 코드입니다. 글고의

Screenshort :

enter image description here

+1

대신 Enter 키를 눌러도 동일한 작업이 수행됩니다. –

+0

[이 질문에 대한 답변 (http://stackoverflow.com/questions/5372833/how-do-i-get-the-done-button-to-appear-on-the-soft-keyboard)이 도움이됩니까? 단일 라인 플래그를 사용해야한다고 제안했으나 이것이 UI에서 작동하지 않을 수도 있습니다. –

답변

2
그것은 안드로이드 버전의 잘못이 아닙니다

하지만 IME 장치 사용. 삼성 (그리고 일부 HTC, 제 생각에는) IME는 편지를 "완료"또는 "다음"또는 "이동"으로 절대로 변경하지 않습니다.

+0

덕분에 작동합니다. 입력 문자가 완료, 다음, 진행 버튼으로 반응합니다. –

관련 문제