티스토리 뷰
반응형
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
What do I use now that Handler() is deprecated?
Handler()가 더 이상 권장되지 않을 때 제가 어떻게 해야할까요?
문제 내용
How do I fix the deprecation warning in this code? Alternatively, are there any other options for doing this?
Handler()가 더 이상 사용되지 않는다는 경고가 나올 때 이 코드를 어떻게 수정할 수 있는지 알려주세요. 또는 이를 수행할 수 있는 다른 옵션이 있는지 알려주세요.
Handler().postDelayed({
context?.let {
//code
}
}, 3000)
높은 점수를 받은 Solution
Only the parameterless constructor is deprecated, it is now preferred that you specify the Looper
in the constructor via the Looper.getMainLooper()
method.
매개변수 없는 생성자만이 더 이상 권장되지 않으며, 이제는 Looper.getMainLooper() 메서드를 통해 생성자에서 Looper를 지정하는 것이 선호됩니다.
Use it for Java
Java용으로 사용
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
// Your Code
}
}, 3000);
Use it for Kotlin
코틀린을 위해 사용하세요.
Handler(Looper.getMainLooper()).postDelayed({
// Your Code
}, 3000)
가장 최근 달린 Solution
import android.os.Looper
import android.os.Handler
inline fun delay(delay: Long, crossinline completion: () -> Unit) {
Handler(Looper.getMainLooper()).postDelayed({
completion()
}, delay)
}
Example:
예:
delay(1000) {
view.refreshButton.visibility = View.GONE
}
출처 : https://stackoverflow.com/questions/61023968/what-do-i-use-now-that-handler-is-deprecated
반응형
'개발 > 안드로이드' 카테고리의 다른 글
프래그먼트가 필요한 이유와 액티비티 대신 프래그먼트를 사용해야 하는 경우 (0) | 2022.12.09 |
---|---|
'R cannot be resolved' 오류 수정하기(이클립스 or 안드로이드 스튜디오 환경) (0) | 2022.12.09 |
'This AsyncTask class should be static or leaks might occur' 경고 수정하기 (0) | 2022.12.08 |
apk 설치 오류 수정하기 (0) | 2022.12.08 |
웹뷰에 html이 정상적으로 로드되지 않을 때 시도해 볼만한 것 (0) | 2022.12.08 |
댓글
공지사항
최근에 올라온 글