将ListView上的OnItemClick重定向到真实触摸的项目视图

时间:2012-08-07 16:20:28

标签: android android-layout android-widget

我有一个列表视图,显示每行/项的视图列表(列表项可以有例如2或3个按钮)。所有项目都设置为不可聚焦且不可点击。这样点击项目调用我的ListView OnClick。我现在要做的是在真正点击的视图上调用performClick()(它什么也没做,因为它被设置为不可聚焦/可焦)。这可能吗?我试图找到一种方法来获取基于点击位置的视图并且没有找到任何东西,另一方面onItemClick单击处理程序列表视图似乎也没有得到触摸的x / y。我知道为此,我可以使用OnTouchEvent,但后来我无法知道点击了什么项目......等等。

1 个答案:

答案 0 :(得分:3)

好的尝试这个,可能会帮助你...设置一个常见的onClick for按钮以及ListItem。

@override
public void onClick(View v) {
    Sting position=v.getTag().toString();               //<--- like this
    //task to do when clicks on the view...
    switch (v.getId()) {
    case R.id.<id_of_the_button1>:  
           //task to do when clicks on the button 1         
    break;
    case R.id.<id_of_the_button2>:  
           //task to do when clicks on the button 2         
    break;
}

在自定义适配器中实现OnClickListener并使用上面的onClick进行覆盖。