[Android ,안드로이드]TextWatcher,천단위
2013. 3. 7. 13:31ㆍMobile/Android
반응형
안드로이드 EditText 입력 or 지울때 3자리숫자마다 컴마 찍을수 있고 지울수 있다 퍼갈때는 출처를 밝혀주세요~ 만드느라 고생함 ㅠㅠ
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText e = new EditText(this);
e.addTextChangedListener(new CustomTextWatcher(e));
}
package ggari.com;
import java.text.DecimalFormat;
import android.text.Editable;
import android.text.Selection;
import android.text.TextWatcher;
import android.widget.EditText;
public class CustomTextWathcer implements TextWatcher {
@SuppressWarnings("unused")
private EditText mEditText;
String strAmount = ""; // 임시저장값 (콤마)
public CustomTextWathcer(EditText e) {
mEditText = e;
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (!s.toString().equals(strAmount)) { // StackOverflow를 막기위해,
strAmount = makeStringComma(s.toString().replace(",", ""));
mEditText.setText(strAmount);
Editable e = mEditText.getText();
Selection.setSelection(e, strAmount.length());
}
}
protected String makeStringComma(String str) {
if (str.length() == 0)
return "";
long value = Long.parseLong(str);
DecimalFormat format = new DecimalFormat("###,###");
return format.format(value);
}
}
반응형
'Mobile > Android' 카테고리의 다른 글
| 안드로이드 프로젝트 생성 만들기 (1) | 2013.03.28 |
|---|---|
| 이클립스 한글 깨짐 현상 (2) | 2013.03.21 |
| [Android, 안드로이드]소수점 자르기 (0) | 2013.03.06 |
| [안드로이드,Android]체크박스,CheckBox (0) | 2013.02.20 |
| 안드로이드 sdk 설치 및 다운 (1) | 2013.02.14 |