안드로이드 개발 질문/답변
(글 수 45,052)
택스트뷰에 값을 입력하고 다른 택스트뷰를 선택하면 테이블 데이터를 갱신하게 만들려고
OnFocusChangeListener를 생성하여 텍스트뷰에 연결했습니다.
그런데 갱신할때 텍스트뷰에 있는 내용도 갱신되기때문에 포커스를 잃었을때만 실행되도록
이렇게 했습니다.
그런데 포커스를 얻었을때도 실행되는 바람에 텍스트뷰에 값을 입력할수가 없습니다-_-;
입력하려고하면 택스트뷰의 값이 갱신되면서 입력 인터페이스가 사라저 버리니까요 ㅎㅎㅎ
포커스를 얻었을때 저 if( hasFocus == false )안의 코드에서만 값을 갱신하기 때문에 안의 코드가 실행되지 않으면 현상이 안일어 날텐데 말이저 ㅡ,.ㅡ;
중단점을 잡아봐도 포커스가 오면 실행됩니다
그래서 true로 해봤더니 얘도 똑같이 클릭하면 안에 코드가 실행되네요 ㅡ,.ㅡ;;;
포커스 잃었을때 만 실행하려면 어떻게 해야 하나요?
OnFocusChangeListener를 생성하여 텍스트뷰에 연결했습니다.
그런데 갱신할때 텍스트뷰에 있는 내용도 갱신되기때문에 포커스를 잃었을때만 실행되도록
@Override
public void onFocusChange(View v, boolean hasFocus)
{
//포커스를 잃으면 다시 계산한다.
if( hasFocus == false )
{
//여기서 데이터 처리를 합니다.
}
}이렇게 했습니다.
그런데 포커스를 얻었을때도 실행되는 바람에 텍스트뷰에 값을 입력할수가 없습니다-_-;
입력하려고하면 택스트뷰의 값이 갱신되면서 입력 인터페이스가 사라저 버리니까요 ㅎㅎㅎ
포커스를 얻었을때 저 if( hasFocus == false )안의 코드에서만 값을 갱신하기 때문에 안의 코드가 실행되지 않으면 현상이 안일어 날텐데 말이저 ㅡ,.ㅡ;
중단점을 잡아봐도 포커스가 오면 실행됩니다
그래서 true로 해봤더니 얘도 똑같이 클릭하면 안에 코드가 실행되네요 ㅡ,.ㅡ;;;
포커스 잃었을때 만 실행하려면 어떻게 해야 하나요?




아...이런
텍스트뷰에 포커스가 갈때 생기는 입력인터페이스에 의해 리스트뷰가 다시 그려지면서 생기는 현상입니다-_-;
쿼티로 입력할때는 문제 없길례 봤더니 그렇군요 ㅜㅡ
어쩔수 없이 엔터입력으로 변경했습니다.