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
コメントでマイクが述べたように、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;
}
}