我在从另一个类调用方法时遇到了麻烦。我有这门课;
protected class ViewHolder {
protected VideoView itemVideo;
protected ImageView itemBackgroundBlack;
protected ImageView itemPlayIcon; }
我在另一个类中使用此方法,当itemPlayIcon单击时播放itemVideo。
public class CategoryItemAdapter extends PagerAdapter {
public void setItemInfoView(int position, final ViewHolder holder) {
holder.itemPlayIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.itemPlayIcon.setVisibility(View.INVISIBLE);
holder.itemBackgroundBlack.setVisibility(View.VISIBLE);
holder.itemVideo.setVisibility(View.VISIBLE);
holder.itemVideo.start();
}
});
}
}
的另一个课程
public class CategoryItemActivity extends FragmentActivity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.category_item_layout);
init();
}
private void init() {
final ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
}
@Override
public void onPageSelected(int i) {
int x = imageViews.get(i).getMeasuredWidth() * i +
imageViews.get(i).getMeasuredWidth() / 2;
x = x - getWindowManager().getDefaultDisplay().getWidth() / 2;
scrollView.smoothScrollTo(x, scrollView.getScrollY());
for(int k = 0; k < imageViews.size(); k++) {
imageViews.get(k).setVisibility(View.VISIBLE);
}
imageViews.get(i).setVisibility(View.GONE);
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
}
}
我希望在滚动页面时停止itemVideo(意味着使用onPageScrollStateChanged())。我需要一个我认识的听众,但我无法处理它。请帮忙。谢谢。
答案 0 :(得分:0)
您可以实现与其他clase的接口以及视频播放结束时的处理; http://www.tutorialspoint.com/java/java_interfaces.htm
答案 1 :(得分:0)
你必须将holderView类实例传递给CategoryItemActivity,然后你可以从你的CategoryItemActivity中调用HolderView类的stop方法。如果你直接传递类上下文,它将导致耦合。所以你必须使用超级概念。