zoukankan      html  css  js  c++  java
  • 【转】listView中,checkBox的显示和隐藏

    原文网址:http://www.cnblogs.com/vicma/p/3460500.html

    在listView中,每个item都有一个ChexBox,当显示的时候在listView外面设置一个按钮,点击显示和隐藏listView中所有的checBox;

    开始的我的实现方法为:

    Button add = (Button)findViewById(R.id.add); 
            add.setOnClickListener(new OnClickListener() { 
                @Override 
                public void onClick(View v) {

                    if(flage){checkBox.setVisibility(View.VISIBLE);flage=!flage;} 
                    else{checkBox.setVisibility(View.GONE);flage=!flage;}                
                } 
            });

    后来发现,只能改变listView中第一个checBox,对listView中其他的item不起作用。

    以上做法不对,正确的做法是在Adapter中的getView中设置隐藏和显示,做法如下:

    在getView中,

    final CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkBox); 
                    if(flage){checkBox.setVisibility(View.VISIBLE);} 
                    else{checkBox.setVisibility(View.GONE);}

    然后在按钮点击事件中:

    @Override 
                public void onClick(View v) { 
                    flage=!flage; 
                    mySubscriptionsListAdapt.notifyDataSetChanged(); 
                }

    notifyDataSetChanged();是实现listView刷新的功能,不需要再次加载整个listView。

  • 相关阅读:
    数据结构相关知识
    设计模式
    常用排序算法
    算法之---堆的简单介绍
    树和二叉树简介
    列表查找以及二分查找
    算法基础
    Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器)
    Python学习【第2篇】:Python数据结构
    统计一篇英文文章内每个单词出现频率,并返回出现频率最高的前10个单词及其出现次数
  • 原文地址:https://www.cnblogs.com/wi100sh/p/4487851.html
Copyright © 2011-2022 走看看