728x90

 

www.masterqna.com/android/7262/toast-%EC%A4%91%EB%B3%B5%EC%9C%BC%EB%A1%9C-%EB%9C%A8%EC%A7%80-%EC%95%8A%EA%B2%8C-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-%EC%A7%88%EB%AC%B8-%EC%A7%80%EC%86%8D%EC%8B%9C%EA%B0%84

 

 

android - Toast 중복으로 뜨지 않게 하는 방법 질문.(지속시간) - 안드로이드 Q&A

안녕하세요, 안드로이드 초보 개발자입니다.   특정버튼이 눌렸을경우 Toast로 팝업을 뛰워주고 있습니다. Toast.makeToast(getBaseContext(), " message ", Toast.LENGTH_SHORT).show();   근데 해당 버튼을 연속으로

www.masterqna.com

토스트 메세지가 여러번 호출 되면 그게 쌓여서 순차적으로 토스트 메제지가 나와서 보기 싫었다.

아래의 코드 처럼 사용했었다.

val toast = Toast.makeText(applicationContext, "권한이 없습니다.", Toast.LENGTH_SHORT)
toast.setGravity(Gravity.CENTER, 0, 0)
toast.show()

지금은 아래처럼 toast를 전역 변수로 선언 하고 토스트 메세지를 호출 할때 마다 캔슬을 하고 실행 하서

오버랩? 같이 보기 싫은 동작이 없어졌다.

 

아 처음 호출 하는 토스트 메세지에는 

toast.cancel() 빼야한다 안빼면 오류가 난다. 

전역 변수 선언시 latainit 이라서 처음 한번은 초기화를 해줘야 한다.

lateinit var toast: Toast

toast.cancel()
toast = Toast.makeText(applicationContext, "권한이 없습니다.", Toast.LENGTH_SHORT)
toast.setGravity(Gravity.CENTER, 0, 0)
toast.show()

 

728x90

+ Recent posts