목적 : 에딧텍스트에 숫자가 바뀔때마다, 3자리 숫자 단위로 콤마(,)를 찍어준다.
XML파일은 다음과 같다. 별다를 것 없는...
자바 파일은 다음과 같다.
별것 아니지만, 애먹었네요,
목적 : 에딧텍스트에 숫자가 바뀔때마다, 3자리 숫자 단위로 콤마(,)를 찍어준다.
XML파일은 다음과 같다. 별다를 것 없는...
<EditText
android:inputType="number"
android:gravity="right"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
자바 파일은 다음과 같다.
// 세자리로 끊어서 쉼표 보여주고, 소숫점 셋째짜리까지 보여준다.
DecimalFormat df = new DecimalFormat("###,###.####");
// 값 셋팅시, StackOverFlow를 막기 위해서, 바뀐 변수를 저장해준다.
String result="";
// 숫자가 바뀔때마다, 새로 셋팅을 해주어야 하므로, ChangeListener를 단다.
meterEditText.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!s.toString().equals(result)){ // StackOverflow를 막기위해,
result = df.format(Long.parseLong(s.toString().replaceAll(",", ""))); // 에딧텍스트의 값을 변환하여, result에 저장.
meterEditText.setText(result); // 결과 텍스트 셋팅.
meterEditText.setSelection(result.length()); // 커서를 제일 끝으로 보냄.
}
}
}); 별것 아니지만, 애먹었네요,
'Programming > android' 카테고리의 다른 글
가로모드에서 editText 키보드가 화면을 덮을때 ! (1) | 2011.05.25 |
---|---|
유튜브 연결 인텐트 (0) | 2011.05.23 |
텍스트 마퀴효과 (0) | 2011.04.21 |
전화걸기 인텐트 (0) | 2011.04.21 |
SurfaceView 사용방법 (0) | 2011.04.07 |