Android 当触摸行中包含的UI元素时,高亮显示ListView行
我想启用触摸listView行时出现的橙色高亮显示 如果onclick事件是从行本身生成的,我可以通过设置listview的样式来调整hightlight。但是,在我的例子中,单击事件是由下面的TextView生成的,附带onclick事件 当触摸事件发生时,Listview不知道正在发生点击。它不接收聚焦或按下的事件 我是否可以像Flex一样使用冒泡或捕获技术?或者有什么建议/解决方案 多谢各位Android 当触摸行中包含的UI元素时,高亮显示ListView行,android,events,listview,onclick,highlighting,Android,Events,Listview,Onclick,Highlighting,我想启用触摸listView行时出现的橙色高亮显示 如果onclick事件是从行本身生成的,我可以通过设置listview的样式来调整hightlight。但是,在我的例子中,单击事件是由下面的TextView生成的,附带onclick事件 当触摸事件发生时,Listview不知道正在发生点击。它不接收聚焦或按下的事件 我是否可以像Flex一样使用冒泡或捕获技术?或者有什么建议/解决方案 多谢各位 View tempView = null; // Class Variable to tempo
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;
}
希望这有帮助。谢谢:
方法:
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;
}
希望这有帮助。谢谢:谢谢你的补充。一旦我发现了同样的问题,我自己找到了解决方案,并与社区分享。亲爱的Piyushp,谢谢你的帮助。。。。我也面临着同样的问题。我正在使用BaseAdapter来扩展Listview。在Listview中有三个小部件Textview、Edittext和Edittext,这三个小部件都在一行中。当我点击任何一行时,所有三个小部件上都必须显示一些高亮颜色。为了向用户显示,当用户单击另一行时,您已经选择了该行,上一行的颜色变为正常,下一行的颜色变为正常。我已经试过了,但是我的要求不满足。谢谢你的补充。一旦我发现了同样的问题,我自己找到了解决方案,并与社区分享。亲爱的Piyushp,谢谢你的帮助。。。。我也面临着同样的问题。我正在使用BaseAdapter来扩展Listview。在Listview中有三个小部件Textview、Edittext和Edittext,这三个小部件都在一行中。当我点击任何一行时,所有三个小部件上都必须显示一些高亮颜色。为了向用户显示,当用户单击另一行时,您已经选择了该行,上一行的颜色变为正常,下一行的颜色变为正常。我已经试过了,但是我的要求没有得到满足。