로그인 화면에서, 비밀번호를 입력하는 부분을 만들려고 합니다.
목적은
1. '비밀번호' 값이 일정 길이(6자) 이하일 경우 다른 edittext(비밀번호 재입력, 이름 등)를
눌렀을 때 포커스를 다시 '비밀번호'로 이동하며 토스트 메시지를 띄우는 것,
2. '비밀번호 확인'값이 '비밀번호'값과 일치하지 않을 경우 '비밀번호'와 '비밀번호 확인'을 초기화하고
포커스를 '비밀번호'로 이동
등 크게 2가지입니다.
처음에는 포커스 이벤트로 포커스를 잃었을 때 작업을 처리했는데, 포커스는 정상적으로 돌아오지만
정작 입력은 넘어간 edittext에서 되는 현상이 있었고, 손가락으로 터치시 커서 잔상마저 남는 경우가 있었습니다.
포커스를 얻을 때 조건은 정상적으로 작동은 되지만 각 뷰에 대해 전부 작업해줘야 해서 비효율적이라고 판단했습니다.
이때 역시 손가락 터치 후 커서 잔상이 남아 있었습니다.
검색 후 찾아본 터치 이벤트 역시 위와 마찬가지 현상이 발생했고, 모든 버튼에 대해 터치 조건을 잡아줘야 해서
이것 또한 비효율적인 것 같아 넣지 않았습니다.
제가 생각한 알고리즘이 잘못된 것인지 메소드를 이상하게 사용한건지...
은둔고수분들의 조언 한 마디 부탁드립니다.
이벤트 발생시 사용한 코드는(ex - 비밀번호 입력 후 포커스 잃을 때)
if(비밀번호 길이<6)
{ 토스트 메시지
비밀번호.setText("");
비밀번호 확인.clearFocus();
비밀번호.requestFocus();
}