Android GridView中点击图片为何只能捕获ACTION_DOWN事件,其他事件未触发?

YU_Z_W 发布于 2012/08/14 13:26
阅读 1K+
收藏 0

在GridView中设置一张图片,鼠标点击这张图片时为何只能捕获ACTION_DOWN事件,其他事件没有反应,是不是哪被拦截了?

有没有知道的兄弟?讲解一下。

部分代码:

SimpleAdapter sadapter = new SimpleAdapter(this, listmap, R.layout.griditem, new String[]{"icon"}, new int[]{R.id.imageview});

        

        gview.setAdapter(sadapter);

        sadapter.setViewBinder(new ViewBinder(){

 

public boolean setViewValue(View view, Object data,

String textRepresentation) {

if((view instanceof ImageView) && (data instanceof Integer)){

ImageView imageview = (ImageView)view;

int iconid = (Integer)data;

imageview.setBackgroundResource(iconid);

imageview.setOnTouchListener(new OnTouchListener(){

 

public boolean onTouch(View v, MotionEvent event) {

Log.d("debug", "action["+event.getAction()+"]");

return false;

}});

return true;

}

return false;

}});

后台日志打印:

08-14 05:24:27.293: D/debug(2359): action[0]

只能打印出值为0的动作(也就是ACTION_DOWN),无其他动作值。

 

 

加载中
0
YU_Z_W
YU_Z_W

终于找到解决办法了:

public boolean onTouch(View v, MotionEvent event) {

Log.d("debug", "action["+event.getAction()+"]");

return false;

}});

颜色标记的地方返回值为true, 触摸事件就不会传给gridview了。

0
YU_Z_W
YU_Z_W
最终还是两者结合起来使用比较合适。
返回顶部
顶部