2013-06-19 4 views
1

Enter 키를 눌러 맞춤 작업을 수행하려고합니다. 저는 여기에 해당 작업을 잡을 때Android 키보드의 맞춤 동작 버튼

<EditText 
    android:id="@+id/editor" 
    android:singleLine="true" 
    android:inputType="text" 
    android:imeActionId="@+id/submit_action" 
    android:imeActionLabel="Submit" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:paddingTop="15dp" /> 

는 그러나, 나는 액션 ID가 5 대신 당신은 방법을 아래에 사용할 수 있습니다 submit_action

mNameEditor.setOnEditorActionListener(new OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { 
     Toast.makeText(getActivity(), Integer.toString(actionId) ,Toast.LENGTH_LONG).show(); 
     if (event != null && event.getAction() != KeyEvent.ACTION_DOWN) { 
      return false; 
     } else if(actionId == R.id.submit_action){ 
      //do something 
     } 
     return true; 
    }  
}); 

답변

0

에 무엇이든의 것을 참조 글고 내 XML입니다 :

public boolean onKey(View v, int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if (event.getAction() == KeyEvent.ACTION_DOWN) { 
     switch (keyCode) { 
     case KeyEvent.KEYCODE_DPAD_CENTER: 
     case KeyEvent.KEYCODE_ENTER: 

      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0); 

      return true; 

     default: 
      break; 
     } 
    } 
    return false; 
} 

이 예에서는 IME를 닫으려고했지만 ENTER 키를 눌렀을 때 원하는대로 할 수 있습니다. 도움이 될 것입니다.

관련 문제