안녕하세요.

도저히 찾을 수가 없어서 이렇게 질문을 남깁니다.


Toast이용시에 Toast.show()를 이용할 경우 계속 Toast들이 중첩해서 뜨는 현상때문에

mToast.setText()를 해준후 mToast.show()를 하게 되는데요. (mToast는 인스턴스)


중첩하지 않게 해서 뜨는 방법을 사용중에

Thread를 여러개를 이용하여 1개의 인스턴스 mToast로 접근을 하게 되는데요.

다른 Thread에선 mToast.show()상태고, 또 다른 Thread에선 mToast.setText() 상태여서 일어나는 현상인거 같습니다.

그렇다고 mToast를 syncronized로 묶어봤자 어짜피 show()가 끝났음에도 불구하고 화면상에서는 토스트가 보이는 

상태일때 setText가 접근하게 되어서 역시나 똑같더군요...


결국에는


boolean isCan = true;

new Thread(new runnable(){

run(){

if(isCan){

isCan = false;


mToast.setText(""+index);

mToast.show();

Thread.sleep(2000);

isCan = true;

}


}


}.start();


위와같은 방법으로 하고 있습니다..

문제는 없어보이지만.. 사용자 입장에선 2초나 기달려야되는 이상한 상황이 오게 되어서요...

어떻게 하는 방법이 없나 해서 여쭤봅니다..


읽어주셔서 감사합니다.