안녕하세요.

항상 여기서 많은 정보를 얻어 갑니다. ^^)


질문과같이 try~catch내에서 Dialog을 띄어야 하는 상황인데, 띄울 수 있는 방법이 따로 있을까요?

궁금하고 고민되네요. 알려주시면 정말 감사하겠습니다.


getBytes 사용으로 try~catch문을 꼭 사용해야 하는데(?), try~catch 구문안에 alertDialog가 들어가면 Dialog 창이 생성되지 않습니다.

또한 아래코드처럼 40bytes가 넘으면 경고창을 띄우고 msg_editText.setText을 통해서 메세지 내용을 40bytes이하가 되게 작성했는데 이것도 정상적으로 동작하지 않고 40bytes가 넘게 글이 써지네요.. ^^);


코드는 아래와 같습니다.


...

private void checkBytes(Editable s){

Log.d("MyTag","checkBytes Invoked");

String check_bytes = s.toString();

try{

byte[] getbyte = check_bytes.getBytes("UTF-8");

Log.d("MyTag","getbyte.length: "+getbyte.length);

if(getbyte.length>40){

alertDialog(); //alertDialog 창을 띄우고 싶습니다.

s.delete(s.length()-2, s.length()-1);

msg_editText.setText(s);

}

}catch (Exception e) {e.printStackTrace();}

}


private void alertDialog()

{

AlertDialog.Builder warning_message = new AlertDialog.Builder(Message.this);

warning_message.setTitle("글자 수 40자 제한");

warning_message.setMessage("최대 입력가능한 글자 수는 40자 입니다.");

warning_message.setPositiveButton("확인", new DialogInterface.OnClickListener(){

public void onClick(DialogInterface dialog, int whichButton){

}

});

warning_message.show();

}

...



좋은 답변 부탁 드리겠습니다.