单击后将Listview设置为删除项目

时间:2017-03-13 10:56:02

标签: android listview onclicklistener

美好的一天,我的listview

有问题
  1. 我有自定义arrayadapter的listview,它有12个项目
  2. 我已经设置了列表视图,点击它对所选项目进行了删除
  3. 更新

    <input id="txt" type="number" onkeyup="changeborder(this.id, this.value)" />
    
    <script type="text/javascript">
    
    function changeborder(id, value){
        if(value < 5){
            document.getElementById(id).style.border = "2px solid red";
        }
        else if(value > 5 && value < 10 ){
            document.getElementById(id).style.border = "2px solid yellow";
        }
    }
    </script>
    

    我的问题是,当我点击第一个项目(第一个)然后它变成删除但是12个项目(第12个)它也被删除了。 看我的照片

    点击第一项: https://i.stack.imgur.com/M0nvm.jpg

    十二号也被删除了 https://i.stack.imgur.com/1hTPM.jpg

2 个答案:

答案 0 :(得分:0)

这是因为它与现在正在使用的第一个项目不在视图中的View实例相同。

为此,您需要实施自己的(Base)Adapter并在那里存储有关应通过哪些项目的信息。
然后在视图移入和移出视图时在getView方法中设置正确的paint标记。

答案 1 :(得分:0)

这是因为视图被重用而发生。您需要存储该对象的位置OR id,并相应地提供通过效果的笔划。希望它会帮助你。有关代码参考或帮助,请参阅以下链接。它肯定会帮助您

http://lalit3686.blogspot.com/2012/06/today-i-am-going-to-show-how-to-deal.html

https://www.codeproject.com/Questions/896462/Android-Need-to-save-checkbox-state-in-a-custom-ad