2011.03.09 14:47
                
               EditText의 경우, 한글 기준하여 Byte값을 이와 같이 TextWatcher  리스너를 구현하여 계산할 수 있다. 
               또한, 메세지 어플을 제작할 경우 80Byte 한계 치를 조정 할 수도 있다.

   ( 리스너에서 EditText 값을 변경 하려는 경우 StackOverFlow가 발생하여 ANR이 뜨게 되니 
     주의 하자. )
    
   private EditText mContent;
   private TextView mByte;
   
   ...

               //Byte 계산을 위한 EditText 이벤트
private TextWatcher editEvent = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(mContent.isFocusable())
{
try
{
byte[] bytetext = mContent.getText().toString().getBytes("KSC5601");
mByte.setText(Integer.toString(bytetext.length)+" Byte");
}catch(Exception ex){}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
String after_text = s.toString();
try
{
byte[] getbyte = after_text.getBytes("KSC5601");
if(getbyte.length > 80)
{
s.delete(s.length()-2, s.length()-1);
}
}catch (Exception e) {}
}
};

                ...
신고
Posted by 구름같은사나이

티스토리 툴바