<span style="font-family: Arial, Helvetica, sans-serif;">由于我做的项目中需要一批图片,图片通过手势进行切换,每个图片相当于一个功能,进而点击图片可以进入相应的功能界面。</span>
但是我遇到的问题是ViewFlipper中每个子View或图片的点击事件问题,查了网上好多关于ViewFlipper的东西,大多都是介绍ViewFlipper的应用问题,没有涉及到点击事件的问题,通过查看Android API,发现ViewFlipper中有一个getDisplayedChild()方法,是显示当前显示图片的int值,我之前是把图片的id放到一个数组中,所以给当前的图片添加点击事件如下:
if(flipper.getDisplayedChild()==0){
flipper.getCurrentView().setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(MainActivity.this,Art.class));
}
});
}
而ViewFlipper中的getCurrentView()方法则是返回当前的View,将该方法放到public boolean onSingleTapUp(MotionEvent arg0)方法中,意为手势点击该图片,进入Art.class类。。。同理,不管ViewFlipper中addView()的是图片生成的View还是其他,都是用该方式为每个子View添加点击事件。