Android编程实现Listview点击展开和隐藏的方法

本文实例讲述了Android编程实现Listview点击展开和隐藏的方法。分享给大家供大家参考,具体如下:

代码较多,所以找关键点大家贴出来,相信大家看了之后很容易就明白的,

在listview的activity中

List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>() myAdapter = new MyAdapter(getApplicationContext(), listItems); listView.setAdapter(myAdapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { //点击的时候设置选中的编号,在自定义adapter中设置属性selectItem myAdapter.setSelectItem(arg2); //刷新listView myAdapter.notifyDataSetInvalidated(); } });

在自定义的myAdapter的getView中,我的需要隐藏和展示的是个TableLayout默认是隐藏,定义属性int型selectItem和sign默认值均为-1,

TableLayout info = (TableLayout)convertView.findViewById(R.id.tableLayout1); if(position == selectItem){//被选中的元素 if(sign == selectItem){//再次选中的时候会隐藏,并初始化标记位置 info.setVisibility(View.GONE); //没有被选中设置透明色 convertView.setBackgroundColor(Color.parseColor("#00000000")); sign = -1; }else{//选中的时候会展示,并标记此位置 info.setVisibility(View.VISIBLE); //被选中设置背景颜色 convertView.setBackgroundColor(Color.parseColor("#B0E2FF")); sign = selectItem; } }else {//未被选中的元素 info.setVisibility(View.GONE); convertView.setBackgroundColor(Color.parseColor("#00000000")); }

可以实现点击展示,再次点击隐藏,点击展示只会有一个元素展示

希望本文所述对大家Android程序设计有所帮助。

时间: 2024-10-22 22:06:08

Android编程实现Listview点击展开和隐藏的方法的相关文章

Android编程实现Listview点击展开和隐藏的方法_Android

本文实例讲述了Android编程实现Listview点击展开和隐藏的方法.分享给大家供大家参考,具体如下: 代码较多,所以找关键点大家贴出来,相信大家看了之后很容易就明白的, 在listview的activity中 List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>() myAdapter = new MyAdapter(getApplicationContext(

Android编程使用ListView实现数据列表显示的方法_Android

本文实例讲述了Android编程使用ListView实现数据列表显示的方法.分享给大家供大家参考,具体如下: 要将数据库中的数据列表显示在屏幕上,我们要使用ListView这个控件,当用户从数据库中取出数据时,要将数据绑定到显示控件上,如何绑定呢,我们需要创建适配器进行绑定,创建适配器有两种方式: 第一种是用SimpleAdapter创建(要求绑定的数据是List<HashMap<String, Object>>数据类型) 第二种是用SimpleCursorAdapter创建(要求

Android编程使用ListView实现数据列表显示的方法

本文实例讲述了Android编程使用ListView实现数据列表显示的方法.分享给大家供大家参考,具体如下: 要将数据库中的数据列表显示在屏幕上,我们要使用ListView这个控件,当用户从数据库中取出数据时,要将数据绑定到显示控件上,如何绑定呢,我们需要创建适配器进行绑定,创建适配器有两种方式: 第一种是用SimpleAdapter创建(要求绑定的数据是List<HashMap<String, Object>>数据类型) 第二种是用SimpleCursorAdapter创建(要求

Android编程记录ListView标记行状态的方法

本文实例讲述了Android编程记录ListView标记行状态的方法.分享给大家供大家参考,具体如下: 小Demo无什么特别之处,最特别的就是尽量少用notifyDataSetChanged,开销太大了,当然使用是会省不少工的,不过有时候还是会遇到别的问题的,项目经验表示会有这个可能性的,废话不多少了,直接上关键代码. @Override public void onItemClick(AdapterView<?> adapterView, View view, int pos, long a

Android编程实现ListView头部ViewPager广告轮询图效果_Android

本文实例讲述了Android编程实现ListView头部ViewPager广告轮询图效果.分享给大家供大家参考,具体如下: 之前看了别人的一些软件,发现其广告图轮询的时候,那个广告感觉和ViewPager的效果不太一样,后来也查了一下,是因为时间问题,找了一些资料,自己也实践一下. 1.为了解决ListView头部加ViewPager滑动冲突问题,必须自定义ListView,重写里面的onInterceptTouchEvent方法,ListView代码如下: package com.exampl

Android编程实现ListView滚动提示等待框功能示例

本文实例讲述了Android编程实现ListView滚动提示等待框功能.分享给大家供大家参考,具体如下: 其实原理很简单,只需要设置监听listview的滚动事件即可 file1: package cn.stay.activity; import java.util.ArrayList; import java.util.List; import com.aoran.R; import android.app.Activity; import android.os.Bundle; import

Android编程之客户端通过socket与服务器通信的方法

  Android编程之客户端通过socket与服务器通信的方法        本文实例讲述了Android编程之客户端通过socket与服务器通信的方法.分享给大家供大家参考,具体如下: 下面是一个demo,Android客户端通过socket与服务器通信. 由于Android里面可以完全使用java.io.*包和java.net.*包,那么,实际上,逻辑部分与J2SE没有区别.只是UI代码不一样. Android客户端通过socket与服务器通信分为下面5步: (1)通过IP地址和端口实例化

Android编程实现手绘及保存为图片的方法(附demo源码下载)_Android

本文实例讲述了Android编程实现手绘及保存为图片的方法.分享给大家供大家参考,具体如下: 运行效果图预览: 应 yzuo_08 要求做了此Demo,跟以前那个手写板Demo不同的是可以将画布的内容保存为图片. 附上关键代码: MainView.java package com.tszy.views; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; impor

Android编程实现自动检测版本及自动升级的方法_Android

本文实例讲述了Android编程实现自动检测版本及自动升级的方法.分享给大家供大家参考,具体如下: 步骤: 1.检测当前版本的信息AndroidManifest.xml-->manifest-->android:versionName. 2.从服务器获取版本号(版本号存在于xml文件中)并与当前检测到的版本进行匹配,如果不匹配,提示用户进行升级,如果匹配则进入程序主界面. 3.当提示用户进行版本升级时,如果用户点击了确定,系统将自动从服务器上下载并进行自动升级,如果点击取消将进入程序主界面.