이번에는 토스트 메시지(Toast Message) 중복 생성 방지에 대해서 알아보겠습니다.
결론은 토스트메세지를 계속 생성을하여 중복처럼 중첩이 되는 현상을 막는 것입니다.
그렇지 않으면 토스트메세지가 쌓여서 계속해서 보여지는 현상을 접할지도 모릅니다.
public static Toast mToast;
public static void showToast(final String message) {
Runnable r = new Runnable() {
@Override
public void run() {
if (mToast != null)
mToast.cancel();
mToast = Toast.makeText(AppDelegate.getGlobalApplicationContext(), message, Toast.LENGTH_SHORT);
mToast.show();
}
};
runOnMainUi(r);
}
public static void runOnMainUi(Runnable action) {
if (Looper.myLooper() == Looper.getMainLooper()) {
action.run();
} else {
new Handler(Looper.getMainLooper()).post(action);
}
}
여기서 토스트메세지 보여지는 시간은
1. Toast.LENGTH_LONG: 3.5초
2. Toast.LENGTH_SHORT: 2초
위와 같으니 시간을 잘 판단하여 사용하면 되겠습니다.
'🖥 Programming > 📱 Android (Java)' 카테고리의 다른 글
[Android] WebView FileDownload시 .bin 파일확장자 버그 해결방법 (0) | 2022.07.06 |
---|---|
[Android] APK파일 생성시 Execution failed for task ':app:lintVitalRelease'. 오류 (2) | 2021.10.22 |
[Android] TabLayout(탭 레이아웃) Tab 1개 VISIBLE / GONE 처리 (0) | 2021.10.18 |
[Android] TabLayout에서 tabRippleColor 설정방법 (탭 클릭 색상) (0) | 2021.10.07 |
[Android] TabLayout에 Viewpager연결하기 (0) | 2021.10.05 |
[Android] Dialog Method 정리 (0) | 2021.09.28 |
[android] Task 'assembleDebug' not found in project ':app'. 문제해결 (0) | 2021.09.27 |
[Android] Dialog 외부 터치 금지 (바깥 터치 금지) (0) | 2021.09.16 |