2012년 6월 25일 월요일

안드로이드 EditText 주민등록번호 뒤6자리 자동 * 입력



String strCollectAmount1="";//보험료addComma에 사용되는 data
String strCollectAmount2="";//주민번호addComma에 사용되는 data



I_CARD_OWN_CD2.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
System.out.println("s>>>>>>>>>>>>>>"+s);
if(!s.toString().equals(strCollectAmount2)){
if(s.length() > 0){ //주민번호 m_temp_OwnNum[1]에 입력
if(s.length() == m_temp_OwnNum[1].length()+1){
m_temp_OwnNum[1] += s.charAt(s.length() -1); 
System.out.println("하나씩"+m_temp_OwnNum[1]);
}else{
m_temp_OwnNum[1] = s.toString();
System.out.println("한번에 "+m_temp_OwnNum[1]);
}
}else{
m_temp_OwnNum[1] = "";
}
strCollectAmount2 = Util.juminChange(s.toString());//뒷자리 임시 (*들어감)
I_CARD_OWN_CD2.setText(strCollectAmount2);
Editable e = I_CARD_OWN_CD2.getText();
Selection.setSelection(e, strCollectAmount2.length());
}
if(I_CARD_OWN_CD2.length()==7){
Data.setI_OWNER_NO(m_temp_OwnNum[0]+m_temp_OwnNum[1]); // 주민번호 저장
System.out.println("setI_OWNER_NO>>>>>>>>>>>>>>"+Data.getI_OWNER_NO());
}
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}

@Override
public void afterTextChanged(Editable s) {}
});







/**
* 주민번호 뒷자리 '*' 표 처리

* @param value
* @return
*/
public static String juminChange(String value) {
String juminBefore_value = value;
String juminAfter_value = "";


if (juminBefore_value.length() <= 0)
return "";


for (int i = 0; i < juminBefore_value.length(); i++) {
char temp = juminBefore_value.charAt(i);


if (i >= 1) {
temp = '*';
}


//System.out.println("chart(" + i + ") ----> " + temp);


juminAfter_value += temp;
}


return juminAfter_value;
}

댓글 없음:

댓글 쓰기