java listview颜色_[摘]android listview选中某一行,成选中状态颜色高亮显示

构造自己的adapter,在getView中,设置颜色,点击item,刷新listview。

代码:

view plaincopy to clipboardprint?

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import android.app.Activity;

import android.content.Context;

import android.graphics.Color;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.ListView;

import android.widget.TextView;

public class MyListView4 extends Activity {

private List> mData;

ListView setlistViewLeft;

MyAdapter adapter;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.list);

mData = getData();

setlistViewLeft = (ListView)findViewById(R.id.listleft);

adapter = new MyAdapter(this);

setlistViewLeft.setAdapter(adapter);

setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);

}

private List> getData() {

List> list = new ArrayList>();

Map map = new HashMap();

map.put("title", "G1");

map.put("info", "google 1");

list.add(map);

map = new HashMap();

map.put("title", "G2");

map.put("info", "google 2");

list.add(map);

map = new HashMap();

map.put("title", "G3");

map.put("info", "google 3");

list.add(map);

map = new HashMap();

map.put("title", "G4");

map.put("info", "google 4");

list.add(map);

map = new HashMap();

map.put("title", "G5");

map.put("info", "google 5");

list.add(map);

return list;

}

AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {

public void onItemClick(AdapterView> arg0, View arg1, int arg2,long arg3) {

adapter.setSelectItem(arg2);

adapter.notifyDataSetInvalidated();

//          adapter.notifyDataSetChanged();

}

};

/**

* listview中点击按键弹出对话框

*/

public final class ViewHolder {

public TextView titleText;

public TextView infoText;

}

public class MyAdapter extends BaseAdapter {

private LayoutInflater mInflater;

public MyAdapter(Context context) {

this.mInflater = LayoutInflater.from(context);

}

public int getCount() {

// TODO Auto-generated method stub

return mData.size();

}

public Object getItem(int arg0) {

// TODO Auto-generated method stub

return mData.get(arg0);

}

public long getItemId(int arg0) {

// TODO Auto-generated method stub

return arg0;

}

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

ViewHolder holder = null;

if (convertView == null) {

holder = new ViewHolder();

convertView = mInflater.inflate(R.layout.leftview, null);

holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);

holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

holder.titleText.setText((String) mData.get(position).get("title"));

holder.infoText.setText((String) mData.get(position).get("info"));

if (position == selectItem) {

convertView.setBackgroundColor(Color.RED);

}

else {

convertView.setBackgroundColor(Color.TRANSPARENT);

}

//convertView.getBackground().setAlpha(80);

return convertView;

}

public  void setSelectItem(int selectItem) {

this.selectItem = selectItem;

}

private int  selectItem=-1;

}

}

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import android.app.Activity;

import android.content.Context;

import android.graphics.Color;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.ListView;

import android.widget.TextView;

public class MyListView4 extends Activity {

private List> mData;

ListView setlistViewLeft;

MyAdapter adapter;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.list);

mData = getData();

setlistViewLeft = (ListView)findViewById(R.id.listleft);

adapter = new MyAdapter(this);

setlistViewLeft.setAdapter(adapter);

setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);

}

private List> getData() {

List> list = new ArrayList>();

Map map = new HashMap();

map.put("title", "G1");

map.put("info", "google 1");

list.add(map);

map = new HashMap();

map.put("title", "G2");

map.put("info", "google 2");

list.add(map);

map = new HashMap();

map.put("title", "G3");

map.put("info", "google 3");

list.add(map);

map = new HashMap();

map.put("title", "G4");

map.put("info", "google 4");

list.add(map);

map = new HashMap();

map.put("title", "G5");

map.put("info", "google 5");

list.add(map);

return list;

}

AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {

public void onItemClick(AdapterView> arg0, View arg1, int arg2,long arg3) {

adapter.setSelectItem(arg2);

adapter.notifyDataSetInvalidated();

//   adapter.notifyDataSetChanged();

}

};

/**

* listview中点击按键弹出对话框

*/

public final class ViewHolder {

public TextView titleText;

public TextView infoText;

}

public class MyAdapter extends BaseAdapter {

private LayoutInflater mInflater;

public MyAdapter(Context context) {

this.mInflater = LayoutInflater.from(context);

}

public int getCount() {

// TODO Auto-generated method stub

return mData.size();

}

public Object getItem(int arg0) {

// TODO Auto-generated method stub

return mData.get(arg0);

}

public long getItemId(int arg0) {

// TODO Auto-generated method stub

return arg0;

}

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

ViewHolder holder = null;

if (convertView == null) {

holder = new ViewHolder();

convertView = mInflater.inflate(R.layout.leftview, null);

holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);

holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

holder.titleText.setText((String) mData.get(position).get("title"));

holder.infoText.setText((String) mData.get(position).get("info"));

if (position == selectItem) {

convertView.setBackgroundColor(Color.RED);

}

else {

convertView.setBackgroundColor(Color.TRANSPARENT);

}

//convertView.getBackground().setAlpha(80);

return convertView;

}

public  void setSelectItem(int selectItem) {

this.selectItem = selectItem;

}

private int  selectItem=-1;

}

}

android 自定义adapter extends BaseAdapter,做有自己布局的listView

或:

siteListView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view,int position, long id) {

for(int i=0;i

View v=parent.getChildAt(parent.getCount()-1-i);

if (position == i) {

v.setBackgroundColor(Color.RED);

} else {

v.setBackgroundColor(Color.TRANSPARENT);

}

}

}

});

本Blog纯属个人学习、工作需要,记录相关资料。请不要发表任何有人身攻击的言论,谢谢!

posted on 2011-01-25 17:10 ZhipSoft 阅读(11930) 评论(1)  编辑  收藏 所属分类: AndRoid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python2.7安装matplotlib_Ubuntu-Python2.7安装 scipy,numpy,matplotlib 和pip

一、 scipy,numpy,matplotlib sudo apt-get install python-scipy sudo apt-get install python-numpy sudo apt-get install python-matplotlib python import scipy import numpy import pylab scipy.test() numpy.test() pylab.test() 二、pip 1、先说一下什么是pip pip 是“…

instring java_Decode a string in Java

java中decode字符串:public class Utils {private static Pattern validStandard Pattern.compile("%([0-9A-Fa-f]{2})");private static Pattern choppedStandard Pattern.compile("%[0-9A-Fa-f]{0,1}$");private static Pattern va…

加装的硬盘进入后点不了文件夹_在外接移动硬盘上制作win to go教程

有很多使用Mac Book的小伙伴免不了要使用一些Windows下才有的软件(强行暗示Solidworks),这类的大型软件在虚拟机当中运行稳定性又不太好,所以双系统便成了许多人的选择,但boot camp让本就拮据的机身内存雪上加霜,由此win to go便成…

java使窗体最大化_[转]java窗体运行时最大化及关闭方法示例

其实这原本是一个有关java的基础话题,不过既然有人提出来,不妨说两句,顺便也可做为初学者的一个参考。//1.窗体启动时最大化//Frame1.javaimport java.awt.*;import java.awt.event.*;import javax.swing.UIManager;public class Frame1 exte…

python爬虫动态解析js_Python爬虫实战入门五:获取JS动态内容—爬取今日头条

F12打开网页调试工具:选择“网络”选项卡后,发现有很多响应,我们筛选一下,只看XHR响应。(XHR是Ajax中的概念,表示XMLHTTPrequest)然后我们发现少了很多链接,随便点开一个看看&#x…

openjdk怎么执行java命令_Ubuntu 18.04 上使用 OpenJDK 安装并运行 Tomcat

在Linux上安装与卸载JDK和JRE,两种常用方法:一、通过 apt-get 命令在线进行安装与卸载(会自动配置好环境变量)二、通过下载并解压 .tar.gz 包进行手动安装与手动卸载(需要手动配置环境变量)注:javac命令是JDK中的,java命令是JRE中…

vscode卸载background插件_萌妹程序员鼓励师24小时在线陪你写代码,给我吹爆这个VSCode插件...

开源最前线(ID:OpenSourceTop) 猿妹综合整理项目地址:https://github.com/SaekiRaku/vscode-rainbow-fart最近,Github上有一个名为Rainbow Fart的VSCode 插件被玩坏了,有了这个插件,程序员鼓励师这个物种就要灭绝了。为…

python webui测试ie浏览器环境配置_python+selenium做ui自动化测试用法必会

一、前言大家都知道,基于Web端的测试的基础框架是需要Selenium做主要支撑的,这里边给大家介绍下Web测试核心之基于 Python 的 SeleniumSelenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用…

python调用matlab函数_从python调用MATLAB函数

我知道这是一个老问题,已经得到答复。 但是我一直在寻找相同的东西(对于Mac),发现有很多选择与matlab交互的方法和成熟度不同。 这是我发现的: pymat 使用matlab引擎(libeng)进行通讯的低级接口…

java 获取td_[Java教程]jQuery获取table表中的td标签

[Java教程]jQuery获取table表中的td标签0 2017-07-28 00:00:08首先我来介绍一下我遇到的问题1.当有一个table表包含了标签,标签,大致可以认为是这样的:scene.ID scene.SceneName scene.QRUrl scene.LocalUrl if (!string.IsNullOrWhiteSpace(…

引用另一模板的宏_生信人值得拥有的编程模板Shell

前言“工欲善其事必先利其器”,生信工程师每天写代码、搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Integrated Development Environment)那怎么行?本人使用过vim, editplus, ultraedit, notepad, su…

avlib java_fatal error: libavutil/avconfig.h: No such file...

根据这位仁兄的记录,可以在android程序里调用ffmpeg的avcodec_version()函数;下载了最新版的ffmpeg源码(2.4.1),在cygwin里用NDK编译时可能会报错,报错如下;your_nameAP-CHN-LP140129 /cygdrive/c/Workspace_my/TestAp…

python 绘制分布直方图_统计学中常见的4种抽样分布及其分布曲线(Python绘制)...

现代统计学奠基人之一、英国统计学家费希尔(Fisher)曾把抽样分布、参书估计和假设检验看作统计推断的三大中心内容。统计学中,需要研究统计量的性质,并评价一个统计推断的优良性,而这些取决于其抽样分布的性质,所以,抽…

js 即时上传php_php+js实现异步图片上传实例分享

Html5 Ajax 上传文件var xhr;function createXMLHttpRequest(){if(window.ActiveXObject){xhr new ActiveXObject("Microsoft.XMLHTTP");}else if(window.XMLHttpRequest){xhr new XMLHttpRequest();}}function UpladFile(){var fileObj document.getElementById(…

php 文件 不更新,php页面不刷新更新数据

php页面不刷新更新数据php页面不刷新更新数据实现起来很简单,我们可以使用前端的ajax技术。ajax作用:ajax技术的目的是让javascript发送http请求,与后台通信,获取数据和信息。实现前后端分离。ajax技术的原理是实例化xmlhttp对象&…

master节点部署pod_小伙!Kubernetes 部署如此简单,你看完全明白了

将项目迁移到k8s平台是怎样实现的?制作镜像控制器管理PodPod数据持久化暴露应用对外发布应用日志/监控1、制作镜像分为三步第一基础镜像,是基于哪个操作系统,比如Centos7或者其他的第二步中间件镜像,比如服务镜像,跑的像nginx服务…

PHP逻辑运算符如何写,PHP 逻辑运算符

PHP 逻辑运算符在接下来的时间里面,我们准备为大家继续介绍“PHP 逻辑运算符”。(1)在PHP中逻辑运算符分为3种,分别是“与”、“或”、“非”,首先,我们来看看3种运算符的符号,分别如…

c++从入门到精通_资料下载:从入门到精通,手把手教你学DSP

学习一个东西首先是了解它,比如DSP到底是什么?用在什么地方?怎么用?和单片机特点有那些相同与不同?开发需要注意什么?想了解清楚这些问题自然就清楚比较清楚的认识DSP。DSP,因为它是用来做数据处…

php mysql存中文,PHP+MySQL存储数据常见中文乱码问题小结

PHPMySQL存储数据常见中文乱码问题小结本文实例总结了PHPMySQL存储数据常见中文乱码问题。分享给大家供大家参考,具体如下:PHPMySQL出现中文乱码的常见原因:1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。2. 使用MY…

dbf文件怎么创建_ThinkPHP6开发博客实战入门(三),创建admin后台入口

打开创建的应用根目录:E:phpstudy_proWWWp(注意,往后我所说的根目录就是此路径)简单说一下tp6的目录结构app应用目录主要存放控制器文件;config配置目录主要存放全局配置文件;public入口目录主要存放入口或者资源文件;…