2013-01-12 4 views
3

난 그냥 입력 functionallity을에게글고 및 입력이

  1. 를 원하는 키 새로운 라인을 글고이 코드입니다

하지만, 그럴 필요 없어요. 입력하고 Shift + Enter를 사이에 차이 (새로운 라인) : layout.xml에

 
EditText text=(EditText)findViewById(R.id.text); 

text.setOnEditorActionListener(new OnEditorActionListener() { 

     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 

      if ((actionId == EditorInfo.IME_ACTION_DONE) || 
       ( (event.isShiftPressed()==false) && 
       (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) && 
       (event.getAction() == KeyEvent.ACTION_DOWN))){ 

       Editable buff=(Editable)v.getText(); 
       writeText(buff.toString()); 

       context.finish(); // texten sparad här o activity avslutas 

       return true; 
      } 
      return false; 
      } 
    }); 

:

android:inputType="text|textMultiLine" 
android:imeOptions="actionDone" 

답변

3

는 당신이 때를 감지하는 변화 키 리스너를 사용하여 부울을 유지할 필요가 있다고 생각하지 않습니다 당신의 시프트 키과 같이, 누를 때

Android shift key listener

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) 
{ 
    switch (v.getId()) 
    { 
     case R.id.myEditTextId: 
     if(keyCode==59)//59 is shift's keycode 
     //do your stuff here against pressing shift key 
     break; 
    } 
} 
+0

아하 .. 감사합니다. 나는 이것을 시도 할 것이다 .. – user1114026