Android에서 더 이상 사용되지 않는 핸들러를 처리하는 방법 [중복]
Aug 21 2020
이전에는이 코드가 완벽하게 작동했습니다.
이제 android.os.handler가 더 이상 사용되지 않습니다.
private final Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_STATE_CHANGE:
break;
}
}
이 문제를 어떻게 해결할 수 있습니까?
답변
10 AlphaOne Aug 21 2020 at 06:31
의견에서 Mike가 언급했듯이 Handler
더 이상 사용되지 않습니다. Handler 객체를 생성하는 방법 new Handler()
은 더 이상 사용되지 않습니다.
문서에 따라 사용 new Handler()
하면 버그가 발생할 수 있습니다. 따라서 핸들러의 루퍼를 명시 적으로 지정해야합니다. 루퍼는 null이 아니어야합니다.
코드를 참조하십시오 :
private final Handler mHandler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_STATE_CHANGE:
break;
}
}