2012-10-31 26 views
0

嘿,我做了一个自定义视图组扩展相对布局和重写onTouchEvent(),并始终在onTouchEvent()返回true。我将这个自定义视图组作为我的listview的项目布局。我还为listview添加onItemClick监听器。但我无法接收我的listview的onItemClick事件!有人能帮助我吗?Android Listview不会收到onItemClick与自定义ViewGroup

非常感谢!

回答

0

如果您在onTouchEvent()中返回true,则会处理该事件,因此不会冒泡到ListView。尝试返回false。

+0

如果我返回false,那么以后我无法在视图组中获得其他MotionEvent。如何解决这个问题?谢谢! – DarkNeo

+0

如果你返回'super.onTouchEvent()',怎么样? – Jens

+0

super.onTounchEvent()将在这种情况下返回false。视图组不会再收到ACTION_UP事件。 – DarkNeo

0

只使用onitemClick事件就够我想只要你的问题而言

+0

不,我应该在MotionEvent down和MotionEvent时做一些工作。 – DarkNeo

+0

粘贴代码 – Anirudh

+0

@覆盖 公共布尔的onTouchEvent(MotionEvent事件){ 开关(event.getAction()){ 情况MotionEvent.ACTION_DOWN: doMyWork(); break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: endMywork(); break; 默认值: break; } return super.onTouchEvent(event); } – DarkNeo

1

只是difine onitemclick在适配器类getView(...),我认为它会为你

公共查看getView工作(最终诠释的立场,观点convertView,ViewGroup以及母公司){

View vi=convertView; 
    if(convertView==null) 
     vi = inflater.inflate(R.layout.list_row, null); 
    vi.setOnClickListener(new OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 

     } 
    }); 
+0

我认为这可以解决这个问题。谢谢! – DarkNeo

相关问题