마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

에디트텍스트 문자열 검사하기

0 추천
//검사 함수
		public class PositionTextWatcher implements TextWatcher{
			String[] position={"APPLE","BANANA","MELON"};			
			Context mContext;
			TextView value;
			public PositionTextWatcher(Context context,TextView tv){
				value = tv;
				mContext = context;
			}
			
			
			@Override
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				// TODO Auto-generated method stub
				if(s.toString().length() > 0){
					Log.d(tag,"2");
					if(find(position,s) == 0){
						Log.d(tag,"3");
						value.setText(null);
						Toast.makeText(getApplicationContext(), "문자열을 잘못 입력하였습니다.", Toast.LENGTH_LONG).show();
					}
					}
				
			}
			
			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
				// TODO Auto-generated method stub
				Log.w("onTextChanged", s.toString());				
			}
			
			@Override
			public void afterTextChanged(Editable s) {
				// TODO Auto-generated method stub
				Log.w("onTextChanged", s.toString());				
			}
		}

위와 같이 에디트텍스트에서 문자열을 입력하면 그게 배열에 있는지 체크해서 토스트메세지를 띄우려고 하는데

알파벳 하나만 입력해도 토스트메세지가 뜹니다. 대 소문자 다 마찬가지구요. 어떻게 해줘야 하나요?

브루스웨인 (8,580 포인트) 님이 2014년 3월 17일 질문
find(position,s)
저기 파인드는 직접 정의하신 거에요?

1개의 답변

+1 추천
 
채택된 답변

http://blog.naver.com/anispike1988?Redirect=Log&logNo=50183164729

문자열비교는 배열 값 돌면서 패턴매쳐 또는 equls 를사용하시면 될 것 같은데

검사시점이 문제..

텍스트와쳐의 호출시점이 타이핑마다 발생한다고봐야되므로 버튼을 추가해서

이벤트드리븐으로 갈것인가 아니면 핸들러를 사용해서 타이핑 끝난 후 몇초후에

쳌크할것인가 정도로 생각해볼수잇겟네요

초보개발자ㅠ (33,870 포인트) 님이 2014년 3월 18일 답변
브루스웨인님이 2014년 7월 19일 채택됨
...