- 浏览: 502269 次
- 性别:
- 来自: 惠州
文章分类
- 全部博客 (255)
- ant (1)
- springMVC (2)
- ajax (4)
- oracle (12)
- SSH (13)
- struts1 (2)
- Hibernate (14)
- spring (5)
- jstl (1)
- 连接池 (1)
- acegi (4)
- java (17)
- jquery (11)
- div+css (4)
- drupal (1)
- php (8)
- freemaker调模板生成静态页面 (1)
- xml (1)
- json (2)
- javascript (9)
- 正则表达式 (4)
- Ext (8)
- jdbc (1)
- sql server (2)
- perl (5)
- db4o (1)
- webservice (4)
- flex (13)
- it资讯 (1)
- joomla (0)
- 设计模式 (1)
- struts2 (4)
- s2sh (8)
- linux (3)
- ejb (2)
- android旅途 (24)
- android (36)
- C/C++ (16)
- mysql (1)
最新评论
-
fengyuxing168:
IBelyService bs = IBelyService. ...
为 Android 添加 Java 层服务也就是添加自定义的aidl服务到serviceManager 通过ServiceManager.getService取 -
dengzhangtao:
"由于ActivityManagerService是 ...
binder理解 -
yzyspy:
ActivityManagerService:startHom ...
Android的Launcher成为系统中第一个启动的,也是唯一的 -
Matchstick:
使用SELECT DISTINCT alias FROM Po ...
hibernate 一对多表查询时fetchMode.join 生成left outer join 出来数据重复问题 -
dlheart:
没看懂你什么意思啊,我遇到的问题是一对多,设了fetch = ...
hibernate 一对多表查询时fetchMode.join 生成left outer join 出来数据重复问题
自定义BaseAdapter Android ListView GrideView spinner 等 每行包含图片,TextView,checkbox的显示
- 博客分类:
- android
/**
* MyAdapter
* TODO
* @knownBugs
*/
public class MyAdapter extends BaseAdapter {
/** the context*/
private Context mContext;
/** the list of the ShopInfoSerialzable*/
private List<ShopInfoSerialzable> mShopData;
/** layoutInflater*/
private LayoutInflater layoutInflater;
/**
* ViewHolder
* TODO
* @knownBugs
*/
class ViewHolder {//这个类变量对应显示的一行的所有组件
/** the picture of the goods*/
ImageView shopIcon;
/** the name of the goods*/
TextView shopName;
/** the checkBox*/
CheckBox checkBox;
}
//构造函数
public MyAdapter(Context aContext,
List<ShopInfoSerialzable> aShopData) {
this.mContext = aContext;
this.mShopData = aShopData;
layoutInflater =
(LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return mShopData.size();
}
@Override
public Object getItem(int aPosition) {
return mShopData.get(aPosition);
}
@Override
public long getItemId(int aPosition) {
return aPosition;
}
//主要需要重写的方法,得到用来显示的每一行组件
@Override
public View getView(final int aPosition,
View aConvertView, ViewGroup aParent) {
ViewHolder holder = null;
if (aConvertView == null) {
aConvertView =
layoutInflater.inflate(R.layout.shopping_list_row, null);
holder = new ViewHolder();
holder.shopIcon =
(ImageView) aConvertView.findViewById(R.id.shoppingIcon);
aConvertView.setTag(holder);//这里就设定了图片,可以从一个集合中动态取,可以接下来改变它们的值
holder.shopName =
(TextView) aConvertView.findViewById(R.id.shoppingName);
holder.checkBox =
(CheckBox) aConvertView.findViewById(R.id.checkBox);
} else {
holder = (ViewHolder) aConvertView.getTag();
}
ShopInfoSerialzable shopInfoSerialzable = mShopInfos.get(aPosition);
if (shopInfoSerialzable != null) {
holder.shopName.setText(shopInfoSerialzable.getmShopName()
+ "(" + shopInfoSerialzable.getmShopNumber() + ")");
int finishId = shopInfoSerialzable.getmFinishId();
String comleteStr = (finishId == 1)
? mContext.getResources().getString(R.string.complete)
: mContext.getResources().getString(R.string.uncomplete);
boolean checked = (finishId == 1) ? true : false;
holder.complete.setText(comleteStr);
holder.checkBox.setChecked(checked);
if (checked) {
aConvertView
.setBackgroundColor(Color.parseColor("#99CC66"));
holder.checkBox.setVisibility(CheckBox.INVISIBLE);
} else {
aConvertView.setBackgroundColor(Color.WHITE);
holder.checkBox.setVisibility(CheckBox.VISIBLE);
holder.complete.setTextColor(Color.parseColor("#cc0000"));
}
}
holder.checkBox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View av) {
ShopInfoSerialzable shopInfoSerialzable =
mShopInfos.get(aPosition);
int finishId = shopInfoSerialzable.getmFinishId();
if (finishId == 0) { //unCheck to check
String shopName = shopInfoSerialzable.getmShopName();
mDb.updateDataStatus(DataModel.TABLE_SHOPPING,
DataModel.FINISHID, 1,
DataModel.SHOPNAME, shopName);
reGroupStatus(1, shopName);
MyAdapter.this.notifyDataSetChanged();
} else if (finishId == 1) { //check to unCheck
mShoppingName = shopInfoSerialzable.getmShopName();
mDb.updateDataStatus(DataModel.TABLE_SHOPPING,
DataModel.FINISHID, 0, DataModel.SHOPNAME,
mShoppingName);
reGroupStatus(0, mShoppingName);
MyAdapter.this.notifyDataSetChanged();
}
}
});
return aConvertView;
}
显示图片的方式也可以
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ImageView i;
- if(null==convertView){
- i=new ImageView(PeopleScreen.this);
- i.setScaleType(ScaleType.FIT_CENTER);
- i.setLayoutParams(new GridView.LayoutParams(50, 50));
- }else{
- i=(ImageView)convertView;
- }
- ResolveInfo info=mApps.get(position);
- i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));
- return i;
- }
}
发表评论
-
onInterceptTouchEvent和onTouchEvent调用时序
2012-02-08 08:44 993onInterceptTouchEvent和onTouchEv ... -
Android2.2.1广播大全
2012-01-11 17:29 882Android2.2.1广播大全 博 ... -
Android Gesture Detector
2012-01-06 16:09 1160Android Gesture Detector * ... -
在程序中设置android:gravity 和 android:layout_Gravity属性
2012-01-06 10:04 1524【Android布局】在程序中 ... -
Android应用程序基础 >> 任务栈和亲属关系(Activities and Tasks)
2012-01-05 10:26 1111Android应用程序基础 >& ... -
android 中使用socket使native和framework通信
2011-09-01 10:14 1152android 中使用socket使native和frame ... -
android aidl iBinder理解
2011-06-01 11:51 2020在android中有一个程序员大量使用的操作,就是bindse ... -
Android开发者指南(6) —— AIDL
2011-05-31 10:59 1252Android开发者指南(6) —— AIDL ... -
android 线程间的通信
2011-05-20 13:22 855近来找了一些关 ... -
Android Service学习之AIDL, Parcelable和远程服务
2011-05-20 11:51 1034AIDL的作用 由于每个应用程序都 ... -
有关Android线程的学习
2011-05-20 11:20 9801. Android进程 在了解Android ... -
(转载)Android下Affinities和Task
2011-05-19 16:30 816(转载)Android下Affinities和Tas ... -
Android的Launcher成为系统中第一个启动的,也是唯一的
2011-05-12 19:38 2115Android的Launcher成为系统 ... -
Launcher的启动过程
2011-05-12 19:36 21771. Launcher的启动过程 从网络上 ... -
android中使用jni,ndk的C语言回调方法
2011-05-12 19:19 6512android中使用jni,ndk的C ... -
典型应用之——将库打进apk
2011-05-12 19:19 2837典型应用之——将库打进apk (2010-12-17 1 ... -
一个打通jni,java framework,application三层的练习
2011-05-10 10:58 1126转自:http://blogold.chinaunix ... -
android eclipse 和 源码 情况下 引用第三方jar
2011-05-10 10:55 2432android eclipse 和 源码 情况 ... -
1.系统属性获取及设置中的设置值
2011-04-21 15:04 34521.系统属性获取及设置 android.os.SystemP ... -
给应用签名 uid.system platform 权限
2011-04-21 14:58 1437在生成的apk目录下放 signapk.jar platfo ...
相关推荐
ListView的使用自定义BaseAdapter,android studio 开发
ListView与BaseAdapter的配套使用 理解android 中adapter适配的作用 以及ListView的优化方式
json从网上下载解析,用baseadapter,listview显示
在Android中使用BaseAdapter完成listview加载中带有图片的例子,简单,易懂
自定义BaseAdapter操作步骤实现Listview的界面显示,操作简易
BaseAdapter整合ListView使用的例子
用baseadapter适配器做的listview例子
用BaseAdapter实现的ListView,留着自己备用哈。
对于android项目开发来说,常常会用到Spinner实现下拉框的效果。而对于Spinner加载适配器的方法有多种: 1.直接加载android自带的ArrayAdapter,SimpleAdapter; 2.自定义继承BaseAdapter的适配器。 对于适配器加载...
Android自定义BaseAdapter,大大的节省代码量
android中自定义适配器BaseAdapter
Android中ListView,SQLite,BaseAdapter的结合源码
简单的listview自定义适配器的使用方法,注释很清晰,也有对应的博文介绍
android中最常用到的组件之一,listview 点击事件,源码,欢迎大家下载学习。有问题请留言。
Android listview 常用适配器BaseAdapter
本Demo演示了Spinner+ListView+GridView分别采用BaseAdapter填充内容 【简单易懂,含全注释】 注:创建版本为Android4.4.2
博客源码,需要的下载。主要讲解了BaseAdapter适配器的使用方法。 BaseAdapter, 适用于GridView,Spinner,ListView
Android ListView简单示例,android studio工程,相应博文请见http://blog.csdn.net/djstavaV/article/details/48653283
baseAdapte r是Android中最常用的绑定数据到lis tview的适配器我以前也会用,但是我使用的效率较低,现在有了一些优化,所以写了一个例子,上传到这,希望能和大家交流,共同提高
ListView和BaseAdapter搭配Button点击事件获取不同Item