Handler (android.os.Handler) {bccf21b} sending message to a Handler on a dead thread

Видео в RecyclerView, испольсую ExoVideoView implementation 'com.devbrackets.android:exomedia:4.3.0'

W/MessageQueue: Handler (android.os.Handler) {bccf21b} sending message to a Handler on a dead thread
java.lang.IllegalStateException: Handler (android.os.Handler) {bccf21b} sending message to a Handler on a dead thread
    at android.os.MessageQueue.enqueueMessage(MessageQueue.java:561)
    at android.os.Handler.enqueueMessage(Handler.java:754)
    at android.os.Handler.sendMessageAtTime(Handler.java:703)
    at android.os.Handler.sendMessageDelayed(Handler.java:673)
    at android.os.Handler.sendMessage(Handler.java:611)
    at android.os.Message.sendToTarget(Message.java:474)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.seekTo(ExoPlayerImplInternal.java:196)
    at com.google.android.exoplayer2.ExoPlayerImpl.seekTo(ExoPlayerImpl.java:326)
    at com.google.android.exoplayer2.BasePlayer.seekTo(BasePlayer.java:42)
    at com.devbrackets.android.exomedia.core.exoplayer.ExoMediaPlayer.seekTo(ExoMediaPlayer.java:580)
    at com.devbrackets.android.exomedia.core.exoplayer.ExoMediaPlayer.seekTo(ExoMediaPlayer.java:538)
    at com.devbrackets.android.exomedia.core.video.exo.ExoVideoDelegate.setVideoUri(ExoVideoDelegate.java:68)
    at com.devbrackets.android.exomedia.core.video.exo.ExoVideoDelegate.setVideoUri(ExoVideoDelegate.java:62)
    at com.devbrackets.android.exomedia.core.video.exo.ExoSurfaceVideoView.setVideoUri(ExoSurfaceVideoView.java:73)
    at com.devbrackets.android.exomedia.ui.widget.VideoView.setVideoURI(VideoView.java:297)
    at com.frusty.cooking.adapters.FastCookVideoAdapter.onViewDetachedFromWindow(FastCookVideoAdapter.java:99)
    at com.frusty.cooking.adapters.FastCookVideoAdapter.onViewDetachedFromWindow(FastCookVideoAdapter.java:32)
    at androidx.recyclerview.widget.RecyclerView.dispatchChildDetached(RecyclerView.java:7541)
    at androidx.recyclerview.widget.RecyclerView$5.removeViewAt(RecyclerView.java:872)
    at androidx.recyclerview.widget.ChildHelper.removeViewAt(ChildHelper.java:168)
    at androidx.recyclerview.widget.RecyclerView$LayoutManager.removeViewAt(RecyclerView.java:8639)
    at androidx.recyclerview.widget.RecyclerView$LayoutManager.removeAndRecycleViewAt(RecyclerView.java:8912)
    at androidx.recyclerview.widget.LinearLayoutManager.recycleChildren(LinearLayoutManager.java:1433)
    at androidx.recyclerview.widget.LinearLayoutManager.recycleViewsFromEnd(LinearLayoutManager.java:1527)
    at androidx.recyclerview.widget.LinearLayoutManager.recycleByLayoutState(LinearLayoutManager.java:1552)
    at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1578)
    at androidx.recyclerview.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1391)
    at androidx.recyclerview.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1128)
    at androidx.recyclerview.widget.RecyclerView.scrollStep(RecyclerView.java:1841)
    at androidx.recyclerview.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:5302)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1031)
    at android.view.Choreographer.doCallbacks(Choreographer.java:854)
    at android.view.Choreographer.doFrame(Choreographer.java:785)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1016)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:224)
    at android.app.ActivityThread.main(ActivityThread.java:7590)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

В класе:

 @Override
public void onViewAttachedToWindow(@NonNull Holder holder) {
    super.onViewAttachedToWindow(holder);
    holder.videoView.start();
    Log.d("onViewe", "Attached: "+holder.getAdapterPosition());
}



@Override
public void onViewDetachedFromWindow(@NonNull Holder holder) {
    super.onViewDetachedFromWindow(holder);
    holder.videoView.stopPlayback();
    Log.d("onViewe", "Detached: "+holder.getAdapterPosition());
}

Ответы (0 шт):