u014693358
zhumulang
2015-10-14 02:02
采纳率: 100%
浏览 2.4k

安卓外部控制ListView内部的一个删除按钮的显示与隐藏该怎么做

比如说在标题栏有一个编辑按钮,当点击编辑时listView所有Item内部的删除Button显示,编辑变成完成,点击完成时所有的删除按钮隐藏。

我做出来的效果只能是listview中的第一行删除button显示与隐藏,其它行并没有出现button,我觉得是不是得在getview中对list view做点啥?请高手帮帮忙~先谢谢了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • george_112
    snail_dd 2015-10-14 03:08
    已采纳

    之前遇到过类似的需求,做法仅供参考。
    listView的Adapter中添加一个设置edit mode的接口,设置edit mode后notifyDataSetChanged,在getview中判断如果是edit mode就显示删除button,否则就不显示。

    点赞 评论
  • Mr_dsw
    Antway_ 2015-10-14 08:10

    这个要考虑性能问题的话,还真不太好处理,你在adapter里面进行控制呢

    点赞 评论
  • george_112
    snail_dd 2015-10-19 03:05

    public class MyAdapter extends BaseAdapter
    {
    //
    ...

    private boolean delete_mode = false;
    

    public void setDeleteMode(boolean del)
    {
    delete_mode = del;
    }
    public boolean getDeleteMode()
    {
    return delete_mode;
    }

    //
    ...

    }

    点赞 评论
  • u014693358
    zhumulang 2015-10-24 01:47

    问题已经解决,跟大家说下吧还是,listview每次加载一个item子项时都会调用一次adapter中的getview方法。我们要做的就是设置一个全局boolean类型的标志用来判断编辑按钮的 button是否被点击了。如果点击了,设置标志为true显示删除按钮,没点击设置为false不显示。然后在getview中对这个标志进行判断,对删除按钮做相应的操作。最后我把删除按钮的监听事件也写在了getview方法中。还有别忘了在编辑按钮的监听事件中对listview进行刷新,只有进行刷新才会调用getview方法,删除按钮才会正常显现。这是我的解决方法,希望对各位有帮助。

    点赞 评论
  • qq_32346021
    M_y1994 2016-12-07 03:13

    弄了一天这个一直没弄好,看了你的思路发现是差不多的,然后找才知道是convertView导致的,感谢感谢

    点赞 评论

相关推荐