- 浏览: 3507964 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
做一个词典,要将测试的结果在最后显示出来。
举例:
单词:anderstand
选项:A:知道
B:牛
C:大便
D:热火队
显然答案是 A。
做测测试的时候,类似这样的单词测试有50个,每次都会让你选择一个的。比如我选择了
B:牛,那么这是错的。
我要在最后的单词测试中将显示:
单词:anderstand
选项:A:知道
B:牛
C:大便
D:热火队
将正确的答案的颜色设置成为蓝色,选错的答案设置成为红色,类似于
-----------------------------------------------------------------------------------------------》》》
也就是动态的显示我们a b c d四个选项的颜色喽。
listview用的是适配器是继承了baseadapter,所以我们从网上找答案,
(其实,我相信,好多同学朋友,起初使用listview都是通过百度,或者是谷歌来找代码做demo的)
于是百度,谷歌下,
http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html
代码:
public class MyAdapter extends BaseAdapter{ private LayoutInflater mInflater; public MyAdapter(Context context){ this.mInflater = LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return mData.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { holder=new ViewHolder(); convertView = mInflater.inflate(R.layout.vlist2, null); holder.img = (ImageView)convertView.findViewById(R.id.img); holder.title = (TextView)convertView.findViewById(R.id.title); holder.info = (TextView)convertView.findViewById(R.id.info); holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn); convertView.setTag(holder); }else { holder = (ViewHolder)convertView.getTag(); } holder.img.setBackgroundResource((Integer)mData.get(position).get("img")); holder.title.setText((String)mData.get(position).get("title")); holder.info.setText((String)mData.get(position).get("info")); holder.viewBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showInfo(); } }); return convertView; } }
还有:http://xqjay19910131-yahoo-cn.iteye.com/blog/1167956
代码:
public class MyAdapter extends BaseAdapter{ private LayoutInflater flater; public MyAdapter(Context context) { super(); this.flater = LayoutInflater.from(context); } public int getCount() { // TODO Auto-generated method stub return list.size(); } public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder = null; if(convertView == null){ holder = new ViewHolder(); convertView = flater.inflate(R.layout.user2, null); holder.headimg = (ImageView) convertView.findViewById(R.id.headimg); holder.nickname = (TextView) convertView.findViewById(R.id.nickname); holder.textsign = (TextView) convertView.findViewById(R.id.textsign); holder.listbtn = (Button) convertView.findViewById(R.id.listbtn); convertView.setTag(holder); } else{ holder = (ViewHolder) convertView.getTag(); } holder.headimg.setBackgroundResource((Integer)list.get(position).get("headimg")); holder.nickname.setText((String)list.get(position).get("nickname")); holder.textsign.setText((String)list.get(position).get("textsign")); holder.listbtn.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { } }); return convertView; } } }
又或者两者的代码是一样的。
于是,我弄他们的代码下来到我的代码中就成了这样的:
// 查询历史上搜索过的单词 ,查询的表是history_word private class TestWordResutListAdapter extends BaseAdapter { // List<Map<String , String>> lst ; private LayoutInflater mInflater; public TestWordResutListAdapter(Context context, List<Map<String, String>> lst) { // this.lst = lst ; this.mInflater = LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return lst.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // 获取ListView 每个布局文件 if (convertView == null) { convertView = getLayoutInflater().inflate(R.layout.wordtestresult_list_item, null); // 获取每个ListView行的布局 } //获得item word单词的id的值的 TextView tv_wordtestresult_item_id = (TextView) convertView .findViewById(R.id.tv_wordtestresult_item_id); // 显示的单词在屏幕上的顺序 //显示序号的 TextView tv_wordtestresult_item_index = (TextView) convertView .findViewById(R.id.tv_wordtestresult_item_index); // 显示的单词在屏幕上的顺序 //显示单词的 TextView tv_wordtestresult_item_word = (TextView) convertView .findViewById(R.id.tv_wordtestresult_item_word); // 显示的单词在屏幕上的顺序 //显示答案1 TextView tv_wordtestresult_item_meana = (TextView) convertView .findViewById(R.id.tv_wordtestresult_item_meana); // 显示的单词在屏幕上的顺序 //显示答案2 TextView tv_wordtestresult_item_meanb = (TextView) convertView .findViewById(R.id.tv_wordtestresult_item_meanb); // 显示的单词在屏幕上的顺序 //显示答案3 TextView tv_wordtestresult_item_meanc = (TextView) convertView .findViewById(R.id.tv_wordtestresult_item_meanc); // 显示的单词在屏幕上的顺序 //显示答案4 TextView tv_wordtestresult_item_meand = (TextView) convertView .findViewById(R.id.tv_wordtestresult_item_meand); // 显示的单词在屏幕上的顺序 // 根据List lists的值进行设置 Map<String, String> wordListMap = (Map<String, String>) lst .get(position); String id = wordListMap.get("id") ; String keyid = "[" + wordListMap.get("keyid") + "]"; String name = wordListMap.get("name"); String ans_A = wordListMap.get("ans_A"); String ans_B = wordListMap.get("ans_B"); String ans_C = wordListMap.get("ans_C"); String ans_D = wordListMap.get("ans_D"); String ans_index = wordListMap.get("ans_index").trim(); String ans_press = wordListMap.get("ans_press").trim(); System.out.println("------->>ans_index" + ans_index + "------>>id=" + id); System.out.println("------->>ans_press" + ans_press ); tv_wordtestresult_item_meanb.setTag(id) ; if (ans_index.equals("1")) { //为正确答案标记绿色的颜色 tv_wordtestresult_item_meana.setTextColor(Color.GREEN) ; System.out.println("-------1>>id =" + id); } else if (ans_index.equals("2")) { tv_wordtestresult_item_meanb.setTextColor(Color.GREEN) ; System.out.println("ans_index-------2>>id =" + id); } else if (ans_index.equals("3")) { tv_wordtestresult_item_meanc.setTextColor(Color.GREEN) ; System.out.println("ans_index-------3>>id =" + id); } else if (ans_index.equals("4")) { tv_wordtestresult_item_meand.setTextColor(Color.GREEN) ; System.out.println("ans_index-------4>>id =" + id); } if (!ans_index.equals(ans_press)) { //为选择错误的标记颜色为红色 System.out.println("ans_press------->>id =" + id); if (ans_press.equals("1")) { System.out.println("ans_press-------1>>id =" + id); tv_wordtestresult_item_meana.setTextColor(Color.RED) ; } else if (ans_press.equals("2")) { System.out.println("ans_press-------2>>id =" + id); tv_wordtestresult_item_meanb.setTextColor(Color.RED) ; } else if (ans_press.equals("3")) { System.out.println("ans_press-------3>>id =" + id); tv_wordtestresult_item_meanc.setTextColor(Color.RED) ; } else if (ans_press.equals("4")) { System.out.println("ans_press-------4>>id =" + id); tv_wordtestresult_item_meand.setTextColor(Color.RED) ; } } tv_wordtestresult_item_id.setText(id) ; tv_wordtestresult_item_index.setText(keyid) ; tv_wordtestresult_item_word.setText(name) ; tv_wordtestresult_item_meana.setText("A) " +ans_A) ; tv_wordtestresult_item_meanb.setText("B) " +ans_B) ; tv_wordtestresult_item_meanc.setText("C) " +ans_C) ; tv_wordtestresult_item_meand.setText("D) " +ans_D) ; tv_wordtestresult_item_id = null ; tv_wordtestresult_item_index = null ; tv_wordtestresult_item_word = null ; tv_wordtestresult_item_meana = null ; tv_wordtestresult_item_meanb = null ; tv_wordtestresult_item_meanc = null ; tv_wordtestresult_item_meand = null ; ans_index = null ; ans_press = null ; return convertView; } } // end class
这里的
tv_wordtestresult_item_meana tv_wordtestresult_item_meanb tv_wordtestresult_item_meanc tv_wordtestresult_item_meand
item的四个控件是的眼神是根据item中,从数据库来的值进行设置的
String ans_index = wordListMap.get("ans_index").trim(); String ans_press = wordListMap.get("ans_press").trim(); System.out.println("------->>ans_index" + ans_index + "------>>id=" + id); System.out.println("------->>ans_press" + ans_press ); tv_wordtestresult_item_meanb.setTag(id) ; if (ans_index.equals("1")) { //为正确答案标记绿色的颜色 tv_wordtestresult_item_meana.setTextColor(Color.GREEN) ; System.out.println("-------1>>id =" + id); } else if (ans_index.equals("2")) { tv_wordtestresult_item_meanb.setTextColor(Color.GREEN) ; System.out.println("ans_index-------2>>id =" + id); } else if (ans_index.equals("3")) { tv_wordtestresult_item_meanc.setTextColor(Color.GREEN) ; System.out.println("ans_index-------3>>id =" + id); } else if (ans_index.equals("4")) { tv_wordtestresult_item_meand.setTextColor(Color.GREEN) ; System.out.println("ans_index-------4>>id =" + id); } if (!ans_index.equals(ans_press)) { //为选择错误的标记颜色为红色 System.out.println("ans_press------->>id =" + id); if (ans_press.equals("1")) { System.out.println("ans_press-------1>>id =" + id); tv_wordtestresult_item_meana.setTextColor(Color.RED) ; } else if (ans_press.equals("2")) { System.out.println("ans_press-------2>>id =" + id); tv_wordtestresult_item_meanb.setTextColor(Color.RED) ; } else if (ans_press.equals("3")) { System.out.println("ans_press-------3>>id =" + id); tv_wordtestresult_item_meanc.setTextColor(Color.RED) ; } else if (ans_press.equals("4")) { System.out.println("ans_press-------4>>id =" + id); tv_wordtestresult_item_meand.setTextColor(Color.RED) ; } }
于是,做好以后,运行程序,当下拉上拉listview的时候,item的颜色是不对的,就是说,不该有颜色的控件,也添加了颜色。
可能是listview这样的情况大家遇到的比较少,我网上查了下,没有这样的例子。苦逼了,最后的居然是这样的:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 获取ListView 每个布局文件
convertView = null ;
if (convertView == null) {
convertView = getLayoutInflater().inflate(R.layout.wordtestresult_list_item, null); // 获取每个ListView行的布局
}
//获得item word单词的id的值的
TextView tv_wordtestresult_item_id = (TextView) convertView
.findViewById(R.id.tv_wordtestresult_item_id); // 显示的单词在屏幕上的顺序
//显示序号的
TextView tv_wordtestresult_item_index = (TextView) convertView
.findViewById(R.id.tv_wordtestresult_item_index); // 显示的单词在屏幕上的顺序
//显示单词的
TextView tv_wordtestresult_item_word = (TextView) convertView
.findViewById(R.id.tv_wordtestresult_item_word); // 显示的单词在屏幕上的顺序
//显示答案1
TextView tv_wordtestresult_item_meana = (TextView) convertView
.findViewById(R.id.tv_wordtestresult_item_meana); // 显示的单词在屏幕上的顺序
//显示答案2
TextView tv_wordtestresult_item_meanb = (TextView) convertView
.findViewById(R.id.tv_wordtestresult_item_meanb); // 显示的单词在屏幕上的顺序
//显示答案3
TextView tv_wordtestresult_item_meanc = (TextView) convertView
.findViewById(R.id.tv_wordtestresult_item_meanc); // 显示的单词在屏幕上的顺序
//显示答案4
TextView tv_wordtestresult_item_meand = (TextView) convertView
.findViewById(R.id.tv_wordtestresult_item_meand); // 显示的单词在屏幕上的顺序
// 根据List lists的值进行设置
Map<String, String> wordListMap = (Map<String, String>) lst
.get(position);
String id = wordListMap.get("id") ;
String keyid = "[" + wordListMap.get("keyid") + "]";
String name = wordListMap.get("name");
String ans_A = wordListMap.get("ans_A");
String ans_B = wordListMap.get("ans_B");
String ans_C = wordListMap.get("ans_C");
String ans_D = wordListMap.get("ans_D");
String ans_index = wordListMap.get("ans_index").trim();
String ans_press = wordListMap.get("ans_press").trim();
System.out.println("------->>ans_index" + ans_index + "------>>id=" + id);
System.out.println("------->>ans_press" + ans_press );
tv_wordtestresult_item_meanb.setTag(id) ;
if (ans_index.equals("1")) { //为正确答案标记绿色的颜色
tv_wordtestresult_item_meana.setTextColor(Color.GREEN) ;
System.out.println("-------1>>id =" + id);
}
else if (ans_index.equals("2")) {
tv_wordtestresult_item_meanb.setTextColor(Color.GREEN) ;
System.out.println("ans_index-------2>>id =" + id);
}
else if (ans_index.equals("3")) {
tv_wordtestresult_item_meanc.setTextColor(Color.GREEN) ;
System.out.println("ans_index-------3>>id =" + id);
}
else if (ans_index.equals("4")) {
tv_wordtestresult_item_meand.setTextColor(Color.GREEN) ;
System.out.println("ans_index-------4>>id =" + id);
}
if (!ans_index.equals(ans_press)) { //为选择错误的标记颜色为红色
System.out.println("ans_press------->>id =" + id);
if (ans_press.equals("1")) {
System.out.println("ans_press-------1>>id =" + id);
tv_wordtestresult_item_meana.setTextColor(Color.RED) ;
}
else if (ans_press.equals("2")) {
System.out.println("ans_press-------2>>id =" + id);
tv_wordtestresult_item_meanb.setTextColor(Color.RED) ;
}
else if (ans_press.equals("3")) {
System.out.println("ans_press-------3>>id =" + id);
tv_wordtestresult_item_meanc.setTextColor(Color.RED) ;
}
else if (ans_press.equals("4")) {
System.out.println("ans_press-------4>>id =" + id);
tv_wordtestresult_item_meand.setTextColor(Color.RED) ;
}
}
tv_wordtestresult_item_id.setText(id) ;
tv_wordtestresult_item_index.setText(keyid) ;
tv_wordtestresult_item_word.setText(name) ;
tv_wordtestresult_item_meana.setText("A) " +ans_A) ;
tv_wordtestresult_item_meanb.setText("B) " +ans_B) ;
tv_wordtestresult_item_meanc.setText("C) " +ans_C) ;
tv_wordtestresult_item_meand.setText("D) " +ans_D) ;
tv_wordtestresult_item_id = null ;
tv_wordtestresult_item_index = null ;
tv_wordtestresult_item_word = null ;
tv_wordtestresult_item_meana = null ;
tv_wordtestresult_item_meanb = null ;
tv_wordtestresult_item_meanc = null ;
tv_wordtestresult_item_meand = null ;
ans_index = null ;
ans_press = null ;
return convertView;
}
} // end class
如上上面的一行代码就解决了问题了。
发表评论
-
android离线
2019-11-04 21:25 264https://www.jianshu.com/p/fdfc4 ... -
android 异步更新
2015-07-11 22:42 1466http://www.apkbus.com/forum.php ... -
仿微米
2015-06-26 10:22 0http://www.javaapk.com/source/4 ... -
仿微信
2015-06-26 10:21 1877http://www.javaapk.com/source/1 ... -
网易客户端
2015-06-26 10:20 1565http://www.javaapk.com/source/4 ... -
仿朋友圈
2015-06-26 10:18 1668http://www.javaapk.com/source/8 ... -
仿朋友圈
2015-06-26 10:13 1780http://www.eoeandroid.com/threa ... -
全国ABC查询
2015-06-26 10:07 1273IM 功能 环信云 信息统计 Umeng 分享Umeng 更新 ... -
android 判断网络
2015-06-25 16:00 1222http://www.cnblogs.com/renqingp ... -
android 多彩表格
2015-05-31 16:06 1435http://blog.csdn.net/conowen/ar ... -
android socket
2015-05-31 16:01 1596http://blog.csdn.net/conowen/ar ... -
微信播放语音3
2015-02-25 12:00 1393http://download.csdn.net/detail ... -
微信语音播放2
2015-02-25 11:57 1298http://download.csdn.net/detail ... -
微信语音播放
2015-02-25 11:56 1644http://www.apkbus.com/android-1 ... -
超强的资料整合
2015-01-05 11:04 1198http://zz563143188.iteye.com/bl ... -
最强开发资源平台大合集
2015-01-04 14:50 1851程序员代码应用开发平 ... -
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
2014-09-04 15:45 1337http://blog.csdn.net/vipzjyno1/ ... -
android应用推广
2014-09-03 23:25 1281应用推广不必愁,有米 ... -
android 图片异步加载
2014-09-03 16:47 1097http://www.csdn.net/article/201 ... -
android hander的使用
2014-09-02 23:46 1323http://www.cnblogs.com/xiaoran1 ...
相关推荐
改代码主要是针对listview修改指定item字体颜色
我们常见的androidlistview 都是整体改变背景颜色,我今天上传的是 动态改变listview 其中一条或者多条的背景颜色,以及改变item的颜色。 不需要添加list的点击事件 就可以完成。
android listView 改变选中行的 字体颜色和 图片
ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了,要实现放开鼠标后选择项的背景还是有颜色的。
android listView复用导致item上面动画的错乱。网上大部分都是写的item上面显示静态图片的例子,我这个是解决显示动态图片时复用导致的动画显示错乱问题。问题描述:假如一屏可以显示10个item项,如果第一个正在播放...
Android ListView每个Item上面的有TextView和Button,为ListView每个Item上面的按钮添加事件,并获取TextView文本信息。
动态添加、移除ListView的itemView!非常流畅哦
Android 使用ListView展示不同的item类型
Android Listview Item上下拖动位置
困扰了我好久,今天终于把它解决了。 需求是点击添加按钮,ListView增加一个Item,Item里面有一个按钮和一个EditText,点击按钮删除此item。
公司有个项目要用到类似手机QQ聊天记录列表ListView左右滑动后改变item的效果,网上没找到好的代码,偶然在安卓巴士的开源站http://d.apkbus.com/里面找到了SwipeToDismiss的源码...改成自己的显示另一个view的效果就行...
android ListView 动态追加数据 显示追加进度
android 里listView 拖动子item 删除该项
android ListView Item点击展开子项效果
Android ListView动态查询更新代码
谷歌的sdk中item的背景颜色默认是黄色的,通过自定义我们可以改变item的背景颜色
对android分辨率用到的常用数据进行对比说明,并提供了解决方案,动态适应屏幕大小,适用于任何分辨率。
android 使用Scroller实现绚丽的ListView左右滑动删除Item效果 RemoveListener
Android_ListView动态刷新
android listview 列表点击时改变点击颜色效果,本人抽空开发,亲测,有需要的可以下载