`
zhangfan822
  • 浏览: 255905 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

listview点击,更换此行的图片,实现已读未读

阅读更多

今天在群里有人问,点击listview中的一行时,更换此行的图片,实现已读未读

大概实现原理就是,为listview增加OnItemClickListener的监听

得到选中的行,将数据集中此行对应的图片标识换了,再listview更新

附上代码段吧.

main.xml

中就只增加了一个listview的控件

listitem.xml中包含一个ImageView,与一个TextView

//变量
List<Map<String, Object>> data = null;
ListView lv = null;
SimpleAdapter sd = null;

 

onCreate 中的代码

 

lv = (ListView) findViewById(R.id.listView1);
data = new ArrayList<Map<String, Object>>();
for (int i = 0; i < 10; i++) {
	Map<String, Object> map = new HashMap<String, Object>();
	map.put("img", R.drawable.ic_launcher);
	map.put("title", "ZF" + i);
	data.add(map);
}
sd = new SimpleAdapter(MainActivity.this, data,
	R.layout.listitem, new String[] { "img", "title" }, 
	new int[] {R.id.imageView1, R.id.textView1 });
lv.setAdapter(sd);
//增加监听
lv.setOnItemClickListener(new OnItemClickListener() {
	@Override
	public void onItemClick(AdapterView<?> arg0, View arg1,
		int position, long arg3) {
		Map<String, Object> mp = data.get(position);
		if(mp.containsKey("img")){
			mp.remove("img");
			mp.put("img", R.drawable.icon);
		}
		data.remove(position);//清除此行对应数据集中的数据
		data.add(position, mp);//增加修改后的数据行
		sd.notifyDataSetChanged();//更新
	}
});

 完工..

 

为什么要更新数据集,而不直接更换此行的图片?

因为直接更换此行图片后,listview滚动后,图片将重新还原.

 

直接更新图片的方法(listview滚动后,图片将重新还原)纯YY一下

取得点击行View,再得到此行的ImageView,重新设置图片资源

View v = (View) lv.getChildAt(position);
ImageView iv = (ImageView) v.findViewById(R.id.imageView1);
iv.setImageResource(R.drawable.icon);

 

0
1
分享到:
评论

相关推荐

    android listview点击保持背景颜色,实现已读功能

    总结,实现“android listview点击保持背景颜色,实现已读功能”主要涉及自定义Adapter、处理点击事件、更新数据源和视图状态。这个过程需要结合编程逻辑和UI设计,通过监听用户交互,动态改变列表项的视觉表现,...

    c# winform ListView实现图片浏览

    为了实现图片浏览的功能,我们还需要处理ListView的事件,如点击事件(ItemClick),这样当用户点击一个图片时,可以放大显示或者弹出一个新的窗体来显示大图。此外,还可以添加滚动和键盘导航功能,使用户体验更加...

    安卓本地缓存、下拉刷新、ListView已读未读状态

    在ListView中实现已读未读状态,通常涉及到对每个列表项进行状态标记。这可以通过自定义ListView的Adapter来完成,为每个列表项提供不同的视图状态。比如,可以创建两种不同样式的视图(已读和未读),然后根据数据...

    listview加载多幅图片

    对于Android,可以使用Glide或Picasso加载图片到ImageView,但需要自定义适配器来实现ListView的图片加载。 3. **关联ImageList**:将创建好的ImageList与ListView关联起来,这样ListView的每个项就可以显示对应的...

    C#在ListView中Subitem显示图片

    通过以上步骤,我们可以实现在ListView的Subitems中显示图片,这对于创建直观且富有表现力的Web应用程序是非常有用的,尤其是在表示数据状态或区分不同项目时。这个功能使得ListView控件更加灵活,能够适应各种复杂...

    在C#中实现对ListView点击列标题自动排序功能.doc

    ### 在C#中实现ListView点击列标题自动排序功能详解 #### 概述 在C#开发中,ListView组件是Windows Forms应用中常见的数据展示控件,用于显示列表形式的数据。当用户希望根据某一列的数据进行排序时,实现点击列...

    andriod ListView条目点击变色demo

    本示例"Android ListView条目点击变色demo"着重于如何实现ListView的条目在被点击时改变颜色,以提供更好的用户体验,表明用户的选择状态。 首先,我们需要理解ListView的基本工作原理。ListView通过Adapter来连接...

    Android提高篇之listView点击button翻页功能实现源码

    Android提高篇之listView点击button翻页功能实现源码,最近的开发需要在手机上实现列表分页功能,可以设置每页显示的记录数,第一页和最后一页翻页按钮自动置灰。代码中包括RelativeLayout对视图(View)和按钮位置...

    fragment+listview+TabLayout使用 listview实现图片 文字加载

    6. **事件监听**:根据需求,可以添加点击事件监听器,当用户点击`ListView`的某一项时,可以执行相应的操作,比如跳转到详情页面。 通过以上步骤,我们就可以构建出一个包含多个Tab,每个Tab下都有一个`ListView`...

    点击listView中的图片,在HorizontalScrollView显示出来,在点击item,图片消失

    同时,更新ListView中被点击的图片状态,使其消失或者改变为未选中状态。 3. **HorizontalScrollView的更新**:在接收到图片资源后,HorizontalScrollView需要添加一个新的ImageView,显示这张图片。可以使用...

    Android中ListView实现子控件点击事件后ListView点击事件失效解决办法

    Android中ListView实现子控件点击事件后ListView点击事件失效解决办法,详细说明见相关博客: 博文地址:http://blog.csdn.net/leijf1239848066/article/details/9526483

    点击listview实现超链接

    "点击listview实现超链接"这个主题涉及到如何在ListView的每个条目(ListViewItem)中嵌入超链接,使得用户点击后可以跳转到指定的网页或者执行特定的操作。这通常涉及到自定义Adapter和对TextView的处理,以实现...

    Android编程实现ListView中item部分区域添加点击事件功能

    本文实例讲述了Android编程实现ListView中item部分区域添加点击事件功能。分享给大家供大家参考,具体如下: 需求如题目:Android listview中item部分区域添加点击事件,在一个界面显示了listview,但显示的内容分为...

    listview-图片居中显示

    本教程将详细讲解如何在ListView的LargeIcon模式下实现图片的居中显示,并提供两个示例以适应不同的项目需求。 首先,我们需要理解ListView的工作原理。ListView通过Adapter来绑定数据和视图,当数据源发生变化或...

    Android实现ListView异步加载图片

    "Android实现ListView异步加载图片" Android 实现 ListView 异步加载图片是一种常见的技术,旨在提高应用程序的性能和用户体验。本文将详细介绍 Android 中实现 ListView 异步加载图片的方法,并对相关的技术概念...

    关于listview item重用导致图片重复加载 图片重新请求

    然而,在实现ListView时,由于其内部机制,可能会出现一个问题,即ListView中的item(列表项)重用导致图片重复加载,这不仅会消耗不必要的网络资源,还可能影响用户体验。本文将深入探讨这个问题,并提供解决方案。...

    Android之ListView列表视图和界面跳转实现

    本教程将深入讲解如何实现一个基本的ListView,并在用户点击列表项时跳转到不同的界面。 ### 1. 创建ListView的基础结构 首先,我们需要在XML布局文件中添加ListView组件。以下是一个简单的例子: ```xml ...

    ListView异步加载图片

    通过以上步骤,我们可以实现一个高效的ListView图片异步加载机制。这种方案不仅可以提升用户体验,还能有效利用系统资源,避免内存问题。在实际项目中,还可以结合其他图片加载库,如Glide、Picasso等,它们提供了更...

    C# 使用ListView控件实现图片浏览器(源代码)

    该资源参考博客"C#系统应用之ListView实现简单图片浏览器" http://blog.csdn.net/eastmount/article/details/39958829 它主要通过ListView中加载指定文件夹中所有图片并通过双击缩略图显示具体图片,是比较基础的C#...

Global site tag (gtag.js) - Google Analytics