2012-05-28 48 views
1

我有一个GridView的项目是ToggleButtons,我定义了一个事件监听器点击项目,但没有任何反应,当我点击它们。这里的听众:项目没有点击一个GridView

paintActionsGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent,View view,int position, 
       long id) 
     { 
      ((ToggleButton)view).setChecked(true); 
      paintBoardView.setPaintAction(paintActions[position]); 
     } 
    }); 

我把一个破发点中的监听器,但它没有达到,这意味着听者根本不叫! 有人可以告诉我有什么问题吗?这与物品是ToggleButtons的事实有关吗?如果需要,我可以附上适配器代码。 谢谢。

回答

2

Click事件被ToggleButton消耗,因此不会传递给GridView。类似于this post

+0

同样的问题,尝试了以上,但仍然无法正常工作:(撕裂我的头发! – Namratha

1

是的问题是ToggleButton默认情况下,其可点击启用,因此您的ItemClickListener将无法正常工作。这个想法是默认设置ToggleButton的焦点为false。

假设你有你的切换按钮自定义XML,这行添加到它,

android:focusable="false" 

既然你有一个集中的元素,就会出现此问题。试试这个简单的想法。

相关问题