Gallery显示一个图片和两个按钮。Gallery的adapter中,我每次只让他显示一张图片.想通过判断滑动来切换图片。
dc_detail_gallery.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
first_x = event.getX();
case MotionEvent.ACTION_MOVE:
last_x = event.getX();
case MotionEvent.ACTION_UP:
last_x = event.getX();
break;
}
if (index >= 0 && index <= images.length){
if(last_x < first_x) {
if(index == images.length)
dc_detail_gallery.setAdapter(new DcDetailGalleryAdapter(DcDetail.this, images, texts, prices,index));
else
dc_detail_gallery.setAdapter(new DcDetailGalleryAdapter(DcDetail.this, images, texts, prices,++index));
}
if(last_x > first_x) {
if(index > 0)
dc_detail_gallery.setAdapter(new DcDetailGalleryAdapter(DcDetail.this, images, texts, prices,--index));
}
}
return true;
}
});
这段代码写完后,我手还没有抬起来也是一直触发这个方法呢。那位帮看下代码有什么问题么。 谢谢了。
dc_detail_gallery.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
first_x = event.getX();
case MotionEvent.ACTION_MOVE:
last_x = event.getX();
case MotionEvent.ACTION_UP:
last_x = event.getX();
break;
}
if (index >= 0 && index <= images.length){
if(last_x < first_x) {
if(index == images.length)
dc_detail_gallery.setAdapter(new DcDetailGalleryAdapter(DcDetail.this, images, texts, prices,index));
else
dc_detail_gallery.setAdapter(new DcDetailGalleryAdapter(DcDetail.this, images, texts, prices,++index));
}
if(last_x > first_x) {
if(index > 0)
dc_detail_gallery.setAdapter(new DcDetailGalleryAdapter(DcDetail.this, images, texts, prices,--index));
}
}
return true;
}
});
这段代码写完后,我手还没有抬起来也是一直触发这个方法呢。那位帮看下代码有什么问题么。 谢谢了。
解决方案 »
- 关于android内制Http服务器问题
- Android opengl,当重启Activity时,纹理丢失的问题
- 怎么在代码中修改XML内属性?
- 请教服务器端开发的问题
- 关于加速度计的值 怎么存储
- 系统启动后总是不断重启
- android 4.3版本模拟器运行时出现的异常
- Android studio怎么将加载的bitmap类型传输到uint8_t *数据类型进行计算
- 关于Android Studio中创建和访问数据库SQLite的基本概念
- 求助!这个空指针的bug'boolean android.graphics.Bitmap.compress‘该怎么改?
- android数据库方面操作问题求解答
- android开发中使用dlclose出现软件崩
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
要在不同阶段,做不同的事情。
http://blog.csdn.net/aomandeshangxiao/article/details/7328045 看下这个里面的onTouchEvent方法。