2017-11-08 13 views
0

나는 EditText를 가지고 있는데 사용자가 키패드의 "done"버튼을 누른다면 사용자가 소프트 키패드의 "done"버튼을 누르지 않았을 때 EditText를 지우고 싶다면 어떻게해야 할까?EditText에서 완료 버튼에 대한 청취자가 완료 버튼을 누르지 않았을 때 EditText를 지우시겠습니까?

+0

"사용자가 완료 버튼을 누르지 않은 경우"라는 의미는 어떤 시나리오에서 EditText를 지우시겠습니까? – cherif

+0

@cherif : 예, 편집 문구를 지우고 싶습니다. – Chunhua

답변

0

는 소프트 키보드의 "완료"버튼을 누르면 사용자를 확인하려면 다음 코드를 사용하려면 초점이 변경되면

edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) { 
     if(i== EditorInfo.IME_ACTION_DONE){ 
      Toast.makeText(getApplicationContext(),"Done pressed",Toast.LENGTH_SHORT).show(); 
     } 
     return false; 
    } 
}); 

이 글고의 텍스트를 지우려면을, 아래의 코드를 사용

edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View view, boolean hasFocus) { 
     if(!hasFocus){ 
      edittext.setText(""); 
     } 
    } 
}); 
+0

가끔씩 사용자가 편집 문맥 컨텍스트를 포기하고 저장하지 않고 소프트 키패드를 닫으려고합니다. – Chunhua

+0

코드를 업데이트했습니다. 한번보세요. 문제가 해결되면 답변으로 표시하여 다른 사용자에게도 올바른 답변을 얻으십시오. – androidOnHigh

+0

어느 것이 먼저 켜져 있습니까? 먼저 setOnFocusChangeListener를 넣으므로 setOnEditorActionListener는 두 번째입니다. Edittext를 입력 한 다음 완료 버튼을 누르면 – Chunhua