• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > ListView中响应item的点击事件并且刷新界面,listviewitem

ListView中响应item的点击事件并且刷新界面,listviewitem

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了listviewitem,listviewitem用法,c listviewitem,listviewitem属性,wpf listviewitem等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

ListView中响应item的点击事件并且刷新界面,listviewitem


---恢复内容开始---

最近在在实现listview功能中遇到了这个问题:

点击事件写在了adapter的item中,不知道如在listview的点击事件中更新activity的点击事件,折腾了许久,终于解决,以下为实现的步骤:

1.要实现的功能:点击垃圾桶,删除该item,具体布局如下图

2.avtivity将数据封装成bean对象存在list集合infos中,传送给adaper

1 //从数据库中查询所有数据,dao是数据库操作对象
2 BlackContactsDao dao = new BlackContactsDao(this);
3 List<BlackContactsInfo> infos = dao.queryALL();
4 //将返回的数据添加到list集合中,传送给adapter显示
5 mdapter = new BlackContactsItemAdapter(this,infos);
6 blackcontactsLvList.setAdapter(mdapter);    

3.adaper收到数据后进行显public class BlackContactsItemAdapter extends BaseAdapter {

    List<BlackContactsInfo> infos;
    Context context;
    String type;
  //有参构造,传进infos数据,跟context
    public BlackContactsItemAdapter(Context context, List<BlackContactsInfo> infos) {
        this.infos = infos;
        this.context =context;
    }

    @Override
    public int getCount() {
        return infos.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if(convertView == null) {
            convertView = View.inflate(context, R.layout.item_blackcontacts_list, null);
            holder = new ViewHolder();
            //找控件
            holder.ivdele = (ImageView) convertView.findViewById(R.id.blackcontacts_iv_dele);
            holder.tvPhone = (TextView) convertView.findViewById(R.id.item_blackcontacts_phone);
            holder.tvType = (TextView) convertView.findViewById(R.id.item_blackcontacts_type);
            //给converview打上标签
            convertView.setTag(holder);
        }else{
           holder = (ViewHolder) convertView.getTag();
        }
        final BlackContactsInfo info ;
        info = infos.get(position);
            switch (info.type){
                case 0:
                    type = "电话";
                    break;
                case 1:
                    type = "短信";
                    break;
                case 2:
                    type = "电话+短信";
                    break;
            }
holder.tvPhone.setText(info.phone); holder.tvType.setText(type);
//给item中的垃圾桶设置点击事件 holder.ivdele.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //当垃圾桶被点击了,就根据被点击的item的号码,从数据库中删除 BlackContactsDao dao = new BlackContactsDao(context); dao.delete(info.phone); //以下下为核心代码,更新ui infos.remove(info); notifyDataSetChanged(); } }); return convertView; } class ViewHolder{ ImageView ivdele; TextView tvPhone,tvType; } }

4.核心代码:

                //在对数据库进行删除该数据后,也要对传给listview的数据(list集合进行更新数据),infos集合要移除点击的对象
                infos.remove(info);
                //再调用notifyDataSetChanged();才可以真正实现数据更新。
                notifyDataSetChanged();

 

 


---恢复内容结束---

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 从源码角度入手实现RecyclerView的Item点击事件,recyclerviewitem
  • ListView中响应item的点击事件并且刷新界面,listviewitem

相关文章

  • 2017-05-26Android接入微信支付完全解析,太全了~
  • 2017-05-26看Facebook是如何优化React Native性能,facebookreact
  • 2017-05-26Linux 新的API signalfd、timerfd、eventfd使用说明
  • 2017-05-26Android adb shell命令合集
  • 2017-05-26Listview详解,listview
  • 2017-05-26功能强大的StickyHeaderListView:标题渐变、吸附悬停、筛选分类、动态头部,
  • 2017-05-26安卓第二天笔记-数据保存,安卓第二天笔记保存
  • 2017-05-26android:webview实现简单的浏览器
  • 2017-05-26Android开发2:事件处理及实现简单的对话框,android开发
  • 2017-05-26Android 数据库操作,android数据库操作

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android的bitmap和优化,androidbitmap
    • 用Android studio进行 OpenCV 开发的第一个项目,androidopencv
    • Android4.4访问外部存储,android4.4访问存储
    • Android学习资料整理
    • Android 权限的实现,Android权限实现
    • Android--判断是否连接成功了指定wifi,android--wifi
    • Android程序中--不能改变的事情,android程序--改变
    • PostgreSQL空值null参与运算的处理方法
    • linux编程之socket
    • Android--向SD卡读写数据

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有