Android/Toast
[Android Tip] Toast.makeText() 사용 / Toast 사용
croute
2011. 5. 11. 14:56
[Android Tip] Toast.makeText() 사용시 자주하는 실수
예전에 자주하던 실수가 있었습니다. 크게보면 2가지입니다.
1. String / String Resource 대신에 int형 변수를 넣는다.
- CharSequence 또는 String resource 를 넣어야 한다.
- 쇼(show())를 하지않으면 화면에 출력되지 않는다.
지금보면 당연한 것들인데 당시에는 엄청나게 까먹고 지나가던 거죠.
실제로 코딩하다보면 에러한번 띄우고 난 다음에야, "아 맞다!" 라고 하는 경우도 허다하죠.
출력할 메시지 위치에 들어갈 수 있는 것들 |
Make a standard toast that just contains a text view with the text from a resource.
|
|
Make a standard toast that just contains a text view.
|
토스트 메시지를 만들때는 위의 두 메소드를 많이 사용합니다.
위의 두 메소드를 보면,
첫번째 메소드는 순서대로 Context, ResourceId, Duration 을 입력받고
두번째 메소드는 순서대로 Context, CharacterSequence, Duration 을 입력받습니다.
공통적인 것들을 제외하고 실제 출력될 내용을 이루는 부분은 ResourceId 와 CharacterSequence 입니다.
여기서 Resource Id 는 R.string.아이디 로 접근 가능한, string.xml에(res/values에 위치) 미리 정의된 스트링 리소스를 말하고, CharacterSequence(e.g. either String or StringBuilder)는 스트링 류를 말하죠.
int형 변수를 텍스트의 위치에 넣어도 에러가 나지 않는건 스트링 리소스라고 생각을 해버리기 때문이죠.
요 실수 정말 자주 할 수 있는 녀석입니다.
결론
1. Character Sequence 를 넣는다.
2. R.string.아이디 로 접근 가능한 String Resource 를 넣는다.
스트링, 스트링 리소스 관련글 :
[Android] Resource types - 안드로이드 리소스 타입 http://croute.me/320
[Android] Providing Resource, Resource Identifier - 리소스, 적합한 리소스 제공하기
[Android] String from Resource(리소스파일로 String 객체 만들기) http://croute.me/407
[Android] values / values-ko / 언어설정 / R.string http://croute.me/382
[Android] Resource types - 안드로이드 리소스 타입 http://croute.me/320
[Android] Providing Resource, Resource Identifier - 리소스, 적합한 리소스 제공하기
[Android] String from Resource(리소스파일로 String 객체 만들기) http://croute.me/407
[Android] values / values-ko / 언어설정 / R.string http://croute.me/382
.show()를 하자! |
Toast.makeText(컨텍스트, 스트링리소스/캐릭터시퀀스, 실행시간) 을 하고난 뒤에는 꼭 .show(); 를 해주어야 한다.
이런식으로 작성이 되어야 합니다. 쇼를 하지 않는다면 화면에 보여지지 않고, 데이터만 입력해 놓은 꼴이지요.
전 처음에 이놈을 안해서 몇시간씩 헤매기도 했었습니다. T^T 다른 분들은 저같은 상황이 없었으면 좋겠네요 크흙...
이 놈외에도, 알럿다이얼로그등도 꼭 show() 를 해야 합니다.... 잊지마세요 ㅋ