public class EpTextWatcher implements TextWatcher{
Context mContext;
TextView value;
public EpTextWatcher(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(Integer.parseInt(s.toString()) > 999){
Log.d(tag,"3");
value.setText(null);
Toast.makeText(getApplicationContext(), "999까지 가능합니다.", 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());
}
}
이런식으로 에디트텍스트 값을 검사하는 코드가 있는데
int 형이라 범위를 넓히려고 합니다.
그래서
Integer.parseInt(s.toString()) > 999
이 부분을 Long.parseLong(s.toString()) > 999999999999
이런식으로 바꿔주려고 했더니 에러가 뜨는데 int형의 범위를 벗어난다고 합니다.
long형으로 바꿨는데 왜 int형 범위로 감지하는건가요?