您可以改为使用处理程序,请尝试下面的代码。首先,必须调用CallNext()方法。
private void bindHandler() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
callNext();
Log.e("In HANDLER------>", "HANDLER");
}
}, DISPLAY_LENGTH * 1000);
}
private void callNext() {
if (counter < statusModel.getStories().get(position).getUserStories().size()) {
if (statusModel.getStories().get(position).getUserStories().get(counter).getType().equalsIgnoreCase("photo")) {
Log.e("PHOTOOOO--->", "PHOTOOOOO");
String photo = statusModel.getStories().get(position).getUserStories().get(counter).getFileName();
image.setVisibility(View.VISIBLE);
video_view.setVisibility(View.GONE);
Glide.with(getApplicationContext())
.load(photo)
.into(image);
counter++;
DISPLAY_LENGTH = Long.parseLong(statusModel.getStories().get(position).getUserStories().get(counter).getDisplayTime());
Log.e("DIAPLAY TIME--->", String.valueOf(DISPLAY_LENGTH));
bindHandler();
} else {
if (statusModel.getStories().get(position).getUserStories().get(counter).getType().equalsIgnoreCase("video")) {
Log.e("VIDEOOOO--->", "VIDEOOOOO");
image.setVisibility(View.GONE);
video_view.setVisibility(View.VISIBLE);
String VideoURL = statusModel.getStories().get(position).getUserStories().get(counter).getFileName();
uri = Uri.parse(VideoURL);
if (!TextUtils.isEmpty(VideoURL)) {
video_view.setVideoURI(uri);
video_view.requestFocus();
video_view.start();
video_view.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
}
});
video_view.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
Log.e("VIDEooooooo--->", "Completeeeee");
Log.e("Thread Notifyyyy--->", "Hooo Gayaaaaaa");
counter++;
callNext();
}
});
}
}
}
}
}