android listview item点击后,显示点击效果

最近遇到了一个问题,在用到listview时,想在listview的item点击后显示高亮的效果,但是在activity中写listview的onitemclick事件中写变色效果后,点击可以变色,但是在listview滑动后,这个效果竟然消失了?很是纠结,为什么呢?原因没有搞太懂,好像是在滑动的时候又触发了adapter,所以导致效果消失。后来找到一种解决办法,分享下:

在listview的adapter中添加如下方法:

/**
  * 增加用户点击时,获得位置,并改变颜色
  * @param pos
  */
 public void setSelectedPosition(int pos) {
  selectedPos = pos;
  // inform the view of this change
  notifyDataSetChanged();
 }

public int getSelectedPosition() {
  return selectedPos;
 }

然后在listview的onitemonclick事件时调用这个方法:

public class MeasureitemListener implements OnItemClickListener{

@Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
   measurelistadapter.setSelectedPosition(arg2);
   datalDialog= new LoadDialogDao(getActivity(),"数据加载中...");
   datalDialog.show();
   Map<String,String> map = (Map<String,String>)arg0.getItemAtPosition(arg2);
            measure_id = map.get("measuerid");
            getData(measure_id);
   
  }
 };

效果就是点击后,listview被点击的部分会显示高亮效果,也可以根据自己的需要设置效果。

有需要的可以从github 下载我的原码,地址是:https://github.com/maliankun/listview/archive/master.zip

时间: 2024-10-14 13:14:18

android listview item点击后,显示点击效果的相关文章

ListView item中按钮点击实现删除

ListView item中按钮点击实现删除 在处理ListView 中item的按钮点击事件首先需要在item的根布局中添加 android:descendantFocusability="blocksDescendants"属性,否则item的点击事件会把其中image button的点击事件屏蔽掉 item的布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android ListView item有多重布局

android的listview的一个关键技术就是重绘利用. public View getView(int position, View convertView, ViewGroup parent) { return null; } 从Adatper的getview函数我们可以知道,函数提供了一个convertView的对象,这个对象是我们可以在一个列表中重复利用避免每次getview都进行重绘的关键.我们平常使用的都是大多是单个布局的item,所以我们可以通过建立一个holder就可以重复利

android listview item点击展开

最近做项目真是头疼呢?之前想用ListViewAnnotation来着,就是可以实现类似于android 通知栏滑动删除的效果.好像是一位大牛自己一个人写的吧.我在这里首先向他致敬.不过,话说回来,实现原理也是比较易于理解的,就是检测你的滑动距离以及速度,再作出判断,进行操作.具体大家参考下Google keep的两种列表模式下滑动删除的操作就理解类. 非常不幸的事,我再布局中用了fragment和biewpager,所以产生了手势冲突,我为此改写了library里的手势操作检测方法,最后勉强改

Android ListView中Button事件 点击冲突问题的解决方案

今天遇到一个问题:在设置listview  自定义adapter的时候 ,点击item有点击效果,然后点击item布局文件中的某个button 的时候  也同时触发了listview的点击效果, 解决方案是: 1.在adapter布局文件中添加 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk

Android中button点击后字体的变色效果

button的点击效果无疑是非常简单的,以致于我懒到当UI告诉我说在点击的时候button字体的颜色也要随着背景改变的时候我毫不犹豫的告诉他让他切两个图过来,后来想想着实是不太靠谱,于是了解了一下如何添加button点击的字体颜色变化效果. 1.首先你要在你的color文件下加入几个你需要的色值,注意不同的是不是一般的color标签,而是drawable标签,就像这样: <drawable name="color_red">#fffa3d39</drawable>

Android L中水波纹点击效果的实现

博主参加了2014 CSDN博客之星评选,帮我投一票吧. 点击给我投票 前言 前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大家对view的点击效果-水波纹很有印象吧,点击一个view,然后一个水波纹就会从点击处扩散开来,本文就来分析这种效果的实现.首先,先说下L上的实现,这种波纹效果,L上提供了一种动画,叫做Reveal效果,其底层是通过拿到view的canvas然后不断刷新view来完成的,这种效果需要view的支持,

Android ListView 下拉刷新 点击加载更多

最近项目中用到了ListView的下拉刷新的功能,总结了一下前辈们的代码,单独抽取出来写了一个demo作为示例. 效果图 下拉刷新: 加载更多: CustomListView.java [java] view plaincopy package com.example.uitest.view; import java.util.Date; import com.example.uitest.R; import android.content.Context; import android.uti

xamarin.android listview绑定数据及点击事件

前言 listview是用来显示数据列表的一个控件,今天给大家带来如何使用cursor进行数据绑定以及点击事件. 导读 1.如何创建一个listview 2.如何使用cursor进行绑定数据 3.listview的点击事件 正文 1.如何创建一个listview 这里我们自定义一个listview的视图,首先打开Main.axml,拖一个listview放进去. 右击Layout新建一个视图,名为UserListItemLayout.axml,拖两个textview进去,如图 这样我们就完成了一

【转】Android ListView长按事件触发点击事件

原文网址:http://blog.csdn.net/twlkyao/article/details/17301609 算法在实现ListView的onItemLongClickListener的时候,发现如果长按item,会造成onItemClickListener也会被触发,这是因为onItemLongClickListener默认返回为false,而返回false会触发onItemClickListener,这时可以通过将onItemLongClickListener返回true解决. [j