|
package com.electric.chargingpile.activity;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
import com.electric.chargingpile.R;
import com.electric.chargingpile.adapter.SvVideoPagerAdapter;
import com.electric.chargingpile.data.TalkRecommendBean;
import com.electric.chargingpile.fragment.SvVideoShowView;
import com.electric.chargingpile.view.sview.VerticalViewPager;
import java.lang.ref.WeakReference;
import java.util.List;
public class VideoDetaislActivity extends Activity implements View.OnClickListener {
private VerticalViewPager pager_video;
private SvVideoPagerAdapter viewPagerAdapter;
private SvVideoShowView videoShowView;
private boolean isFirst = true, isChange = false;
private MyHandler mHandler = new MyHandler(this);
int position = 0;
List<TalkRecommendBean> talkRecommendBeans;
static class MyHandler extends Handler {
private WeakReference<VideoDetaislActivity> mWeakReference;
public MyHandler(VideoDetaislActivity activity) {
mWeakReference = new WeakReference<VideoDetaislActivity>(activity);
}
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_videodetails);
pager_video = findViewById(R.id.pager_video);
viewPagerAdapter = new SvVideoPagerAdapter(this, new SvVideoShowView.OnDeleteVideoListener() {
@Override
public void onDelete() {
}
});
pager_video.setAdapter(viewPagerAdapter);
pager_video.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (!isChange) {
isChange = true;
}
}
@Override
public void onPageScrollStateChanged(int state) {
if (state == ViewPager.SCROLL_STATE_IDLE && isChange) {
isChange = false;
if (videoShowView != null) {
videoShowView.onDestroy();
}
initPlayByPostion(talkRecommendBeans, pager_video.getCurrentItem(), false);
}
}
});
findViewById(R.id.vd_title_back).setOnClickListener(this);
ImageView dot = findViewById(R.id.vd_title_dot);
dot.setVisibility(View.GONE);
dot.setOnClickListener(this);
addIntentInfo();
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.vd_title_dot:
break;
case R.id.vd_title_back:
finish();
break;
}
}
private void addIntentInfo() {
position = getIntent().getIntExtra("pos", 0);
talkRecommendBeans = (List<TalkRecommendBean>) getIntent().getSerializableExtra("list");
viewPagerAdapter.notifyChanged(talkRecommendBeans);
pager_video.setCurrentItem(position);
viewPagerAdapter.setInitViewListener(new SvVideoPagerAdapter.InitViewListener() {
@Override
public void initFirstViewAfter() {
if (isFirst) {
isFirst = false;
initPlayByPostion(talkRecommendBeans, position, true);
}
}
});
}
private void initPlayByPostion(final List<TalkRecommendBean> videoInfos, final int position,
final boolean isNeedSet) {
videoShowView = viewPagerAdapter.getViewList(position % viewPagerAdapter.getList());
if (videoShowView.getRootView() != null) {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (isNeedSet) {
if (videoInfos.size() > 0 && position < videoInfos.size()) {
videoShowView.setInfo(videoInfos.get(position));
}
}
videoShowView.updateView();
videoShowView.initAndPlay();
}
}, 100);
}
}
// @Override
// protected void onResume() {
// if (videoShowView != null) {
// videoShowView.onResume();
// }
// super.onResume();
//
// }
// @Override
// protected void onPause() {
// if (videoShowView != null) {
// videoShowView.onPause();
// }
// super.onPause();
// }
@Override
protected void onStop() {
if (videoShowView != null) {
videoShowView.onStop();
}
super.onStop();
}
@Override
public void finish() {
if (videoShowView != null) {
videoShowView.onDestroy();
}
super.finish();
}
}
|