惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
Scott Helme
Scott Helme
S
Securelist
美团技术团队
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
AI
AI
L
Lohrmann on Cybersecurity
S
Security Affairs
Cloudbric
Cloudbric
SecWiki News
SecWiki News
爱范儿
爱范儿
雷峰网
雷峰网
Engineering at Meta
Engineering at Meta
C
Cyber Attacks, Cyber Crime and Cyber Security
大猫的无限游戏
大猫的无限游戏
N
News and Events Feed by Topic
I
InfoQ
S
Secure Thoughts
AWS News Blog
AWS News Blog
A
About on SuperTechFans
Schneier on Security
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
The Last Watchdog
The Last Watchdog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Check Point Blog
P
Palo Alto Networks Blog
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google DeepMind News
Google DeepMind News
Latest news
Latest news
I
Intezer
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
D
Docker

博客园 - lodestar

一张图掌握数据存储 使用xtrabackup实现mysql定时热备份 开发篇1:使用原生api和Langchain调用大模型 预热篇2:从RNN到Transformmer 预热篇1:大模型训练显卡选型 macbook安装scala、hadoop、saprk环境 centos6.5 squid安装 一次linux服务器黑客入侵后处理 linux上搭建svn服务器 Windows系统下Oracle每天自动备份 使用template method模式简化android列表页面 andorid进度条使用 andorid定时器应用 - lodestar Android网络应用(第一部分) - lodestar 错误数据导致java.lang.IllegalArgumentException:Unsupported configuration attributes 使用ACEGI搭建权限系统:第三部分 acegi安全框架使用:第二部分 使用ACEGI实现权限控制,第一部分 ajax实现用户名存在校验
android中listView的几点总结
lodestar · 2012-11-20 · via 博客园 - lodestar

在android中,listView应用非常多,常见的是使用List<HashMap<String, Object>>初始化SimpleAdapter后适配ListView,往往存在下面几种应用场景
1.特殊数据机构构造ListView
 比如用List<Object>之类的数据,一般是实现自定义的Adapter,继承BaseAdapter,实现下面四个方法
 @Override
 public int getCount() {
  
 }

 @Override
 public Object getItem(int position) {
  
 }

 @Override
 public long getItemId(int position) {
  
 }

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
 
 }

2.使用自定义adapter对应实现隔行变色,或者加入竖线实现表格效果
 这个在网上有个例子不错,可以参考
 http://blog.csdn.net/yjg428/article/details/6402010


3.listView中实现复选框
 参考网上的资源http://blog.csdn.net/honor21/article/details/6960773实现的,不过开始不能调试成功,做了部分修改,这里的要点是自定义adapter对应中getView方法的修改
 public View getView(int position, View convertView, ViewGroup parent) {
 
  if (convertView == null) {
   // 生成条目界面对象
   convertView = inflater.inflate(resource, null);
   //复选框对象
   checkBox = (CheckBox) convertView
     .findViewById(R.id.checkBox);

   final ViewCache cache = new ViewCache();
   
   cache.checkBox = curveCheckBox;

   convertView.setTag(cache);
  } else {
  
   checkBox = cache.curveCheckBox;
  }

  //objects是构造adapter的数据列表,实际应用中为具体的domain对象
  final Objects object = objects.get(position);

  // 复选框点击事件监听
  //这里发生点击事件后,listView中的选中状态被更新,写代码更新数据源列表中每个数据是否点击的状态
  //上层逻辑可以通过访问数据源列表objects的方法,得到是那些item被点击
  curveCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
   @Override
   public void onCheckedChanged(CompoundButton buttonView,
     boolean isChecked) {
    // TODO Auto-generated method stub
    if (curveCheckBox.isChecked()) {
     object.setChecked(1);
    } else {
     object.setChecked(0);
    }
   }
  });
  
  //初始化listView使用,有些应用需要保存选中状态,按照选中状态初始化listView
  if (object.getChecked() == 0) {
   // 是否选中:0未选中1选中
   checkBox.setChecked(false);
  } else {
   checkBox.setChecked(true);
  }

  return convertView;
 }