Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当触摸行中包含的UI元素时,高亮显示ListView行_Android_Events_Listview_Onclick_Highlighting - Fatal编程技术网

Android 当触摸行中包含的UI元素时,高亮显示ListView行

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

我想启用触摸listView行时出现的橙色高亮显示

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

当触摸事件发生时,Listview不知道正在发生点击。它不接收聚焦或按下的事件

我是否可以像Flex一样使用冒泡或捕获技术?或者有什么建议/解决方案

多谢各位

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,这三个小部件都在一行中。当我点击任何一行时,所有三个小部件上都必须显示一些高亮颜色。为了向用户显示,当用户单击另一行时,您已经选择了该行,上一行的颜色变为正常,下一行的颜色变为正常。我已经试过了,但是我的要求没有得到满足。