0

에 대한 사용자 정의 입력 유형 만들기 내 요구 사항은 사용자가 0 throu 9 숫자 만 입력 할 수 있고 4 자마다 "-"기호가 edittext.user에 자동으로 추가된다는 것입니다. 끝 부분을 제외하고는 edittext의 어떤 부분도 삭제할 수 없습니다. 이렇게하려면 괭이를 제안하십시오.android

사용자는 입력 한 텍스트의 중간 부분으로 커서를 이동해서 삭제할 수 없어야합니다. 이 일을 성취하는 방법? 사용자가 커서 위치를 이동할 때 어떤 이벤트가 호출됩니까?

답변

2

첫 번째 요구 사항은 0-9이며 XML 사용자 유형 번호에만 의 텍스트 편집 텍스트를 설정하고 편집 텍스트 객체의 텍스트를 카운트하고 텍스트 관찰자를 편집 텍스트 객체 및 카운트 단어로 설정하면 거기에 추가 할 수 있습니다 "-" 캐릭터.

+0

방법의 아무 곳이나 입력 화면의 중앙에 텍스트의 끝에서 커서를 이동하지 않도록하기 위해 우리는 EditText를 확장하고 다음 함수를 재정의 추가 할 필요가? – rDroid

+0

텍스트가 감시자를 변경했습니다! – rDroid

0

내 문제에 대한 해결책을 찾았습니다. 사용자는 입력 된 텍스트의 중간 부분으로 커서를 이동할 수 없어야합니다.

@Override 
protected void onSelectionChanged(int selStart, int selEnd) { 
    // TODO Auto-generated method stub 
    // this method will check if the cursor is moved. if yes then bring back 
    // the cursor to the end so that the user cannot delete anythign from 
    // the middle of the text(here sub id). Any editing will only be 
    // possible at the end of the text 
    if (selStart == selEnd) { 
     int length = getText().toString().length(); 
     setSelection(length); 
    } 
    super.onSelectionChanged(selStart, selEnd); 
} 
관련 문제