2010-11-27 64 views
1

我想启用触摸listView行时发生的橙色突出显示。当触摸包含的行元素的行时触发ListView行

如果onclick事件是从行本身生成的,我可以通过设置listview的样式来调整hightlight。但是在我的情况下,点击事件是由下面的TextView生成的,附带onclick事件。

当触摸事件发生时,Listview不知道点击正在发生。它没有收到集中或按下的事件。

有没有冒泡或捕捉技术,我可以像Flex一样使用?或者任何建议/解决方案?

非常感谢。

回答

10
View tempView = null; // Class Variable to temporary store Clicked Row's view 

方法:

public void onItemClick(AdapterView parent, View v, int position,long id) 
{ 
    listView.setFocusable(true); 
    listView.setSelected(true); 
    v.setBackgroundColor(Color.LTGRAY); // CHANGE COLOR OF SELECTED ROW HERE> 
    selectedId = (int)id; 

    if(tempView != null){ 
     //If row is already clicked then reset its color to default row color 
     tempView.setBackgroundColor(Color.TRANSPARENT); 

    } 
    tempView = v; 

}

希望这有助于。谢谢:)

+0

伟大的作品。我希望我有足够的特权来投票给你。 – Bamboo 2010-11-29 12:11:43