android ListView 和 BaseAdapter 应用
步聚:
1.建立ListView对象;--(作用:绑定Adapter呈现数据)
2.建立ListView实现的Item栏位.xml布局;--(作用:实现ListView的栏位布局)
3.建立Item.xml 的View数据实例(类);--(作用:实现Item栏位数据接口)
4.继承BaseAdapter建立MyAdapter类class;--(作用:封装ListView的.xml布局与Item数据)
5.当然还要作更多的操作,这里例出简洁的方法;
adapter实现:
private class UpdateAdpter extends BaseAdapter {
private LayoutInflater mInflater;
private List<ItemData> mItemsData;
public UpdateAdpter(Context context, List<ItemData> listItemData) {
this.mInflater = LayoutInflater.from(context);
this.mItemsData = listItemData;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mItemsData.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mItemsData.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(
R.layout.activity_account_update_listview_item, null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ItemData item = mItemsData.get(position);
holder.title.setText(item.getTitle());
holder.price.setText(item.getPrice());
holder.text.setText(item.getBuyText());
holder.status.setText(item.getStatus());
return convertView;
}
public class ViewHolder {
public TextView title;
public TextView price;
public TextView buytext;
public TextView status;
ViewHolder(View view) {
title = (TextView) view
.findViewById(R.id.tv_accountupdateitem_title);
price = (TextView) view
.findViewById(R.id.tv_accountupdateitem_price);
text = (TextView) view
.findViewById(R.id.tv_accountupdateitem_buytext);
status = (TextView) view.findViewById(R.id.tv_accountupdate_status);
}
}
}
private class ItemData {
private String title;//标题
private String price;//价格
private String text;//内容
private String status;//状态
public void setTitle(String value) {
title = value;
}
public String getTitle() {
return title;
}
public void setPrice(String value) {
price = value;
}
public String getPrice() {
return price;
}
public void setText(String value) {
buytext = value;
}
public String getText() {
return buytext;
}
public void setStatus(String value) {
status = value;
}
public String getStatus() {
return status;
}
}
activity调有实例:
public class UpdateActivity extends Activity implements OnClickListener{
private ListView UpdateLView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account_update);
iniView();
}
public void iniView() {
UpdateLView = (ListView) findViewById(R.id.account_update_listView);
iniListViewDataUpdate();//初始listview数据
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
private void iniListViewDataUpdate(){
ItemData itemData;
List<ItemData> listItemData = new ArrayList<ItemData>();
for (int i=0;i<2;i++){
itemData= new ItemData();
itemData.setTitle("title");
itemData.setPrice("price");
itemData.setText("text");
itemData.setStatus("status");
listItemData.add(itemData);
}
nowUpdateLView.setAdapter(new UpdateAdpter(this,listItemData));
}
item.xml;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:descendantFocusability="blocksDescendants"
android:gravity="center_vertical" > <LinearLayout
android:id="@+id/lyt_roomlistview_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" > <LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="@android:color/white" > <TextView
android:id="@+id/tv_accountupdateitem_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="title"
android:textSize="18sp" /> <TextView
android:id="@+id/tv_accountupdate_status"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="12dp"
android:layout_weight="1"
android:gravity="left|center"
android:text="button"
android:textColor="@android:color/holo_orange_dark"
android:textSize="16sp" /> <TextView
android:id="@+id/tv_accountupdateitem_price"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="price"
android:textColor="@android:color/holo_orange_dark"
android:textSize="16sp" /> </LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="@android:color/white" > <TextView
android:id="@+id/tv_accountupdateitem_buytext"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="Textview"
android:textSize="16sp" /> <TextView
android:id="@+id/textView2"
android:layout_width="50dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:background="@android:color/holo_orange_dark"
android:gravity="center"
android:text="@string/title_buy"
android:textColor="@android:color/white"
android:textSize="16sp" /> </LinearLayout> </LinearLayout> </RelativeLayout>
效果图:

android ListView 和 BaseAdapter 应用的更多相关文章
- Android ListView使用BaseAdapter与ListView的优化 (转至 http://www.open-open.com/lib/view/open1339485728006.html)
在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作.也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点.读者可 ...
- android ListView之BaseAdapter的使用方式
通常在使用自己定义适配器的时候,我们都会掌握一种固定的模式.充分利用convertView+缓存的方式. private ArrayList<ListBean> list ; privat ...
- Android 杂谈---ListView 之BaseAdapter
前言 几种适配器里面相对来说比较简单的一种适配器,在使用时需要实现几个方法,并且也需要对convertView进行优化 此篇文章以使用listView与BaseAdapter来实现表格样式的布局举例( ...
- Android listview与adapter用法(BaseAdapter + getView)
Android listview与adapter用法http://www.cnblogs.com/zhengbeibei/archive/2013/05/14/3078805.html package ...
- Android listview与adapter用法
listview与adapter用法 博客分类: android 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...
- Android基础类之BaseAdapter
转:http://www.cnblogs.com/mandroid/archive/2011/04/05/2005525.html Android基础类之BaseAdapter BaseAdapter ...
- Android ListView无法触发ItemClick事件
Android ListView无法触发ItemClick事件 开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承Base ...
- android ListView的介绍和优化
xml设计 <?xml version="1.0"?> -<RelativeLayout tools:context=".MainActivity&qu ...
- 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter
第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...
随机推荐
- Java Collection或Map的同步
新集合也提供了能防止多个进程同时修改一个容器内容的机制.若在一个容器里反复,同时另一些进程介入,并在那个容器中插入.删除或修改一个对象,便会面临发生冲突的危险.我们可能已传递了那个对象,可能它位于我们 ...
- Redis学习笔记1-Redis数据类型
Redis数据类型 Redis支持5种数据类型,它们描述如下: Strings - 字符串 字符串是 Redis 最基本的数据类型.Redis 字符串是二进制安全的,也就是说,一个 Redis 字符串 ...
- [html5+java]文件异步读取及上传核心代码
html5+java 文件异步读取及上传关键代码段 功能: 1.多文件文件拖拽上传,file input 多文件选择 2.html5 File Api 异步FormData,blob上传,图片显示 3 ...
- ionic + cordova 使用 cordova-plugin-crosswalk-webview 中的一些个坑
1) 在使用Web Audio API 时,无法使用 AudioContext.decodeAudioData() 对MP3文件进行解码 2)使用Cordova-plugin-weibosdk 插件时 ...
- SAP ABAP将大数据量排序后输入到内表
要向内表读入3百50万条数据,如果一次读入就会产生运行错误,错误提示为,没有内存对于扩展 内表. 我考虑使用SELECT...INTO TABLE...PACKAGE SIZE 和ENDSELECT来 ...
- AE选中要素
private void 选中要素ToolStripMenuItem_Click(object sender, EventArgs e) { if(axMapControl2.LayerCount&l ...
- SharePoint2010升级到SharePoint2013操作手册
SharePoint2010升级到SharePoint2013操作手册 目 录 第一章 前言 3 第二章 升级前准备 3 第三章 升级流程图 5 第四章 升级过程 5 4.1 ...
- 27款后台管理页面设计 DIV+CSS+JS
-----------. 演示: http://www.websjy.com/club/websj ... _61040268/index.htm http://www.websjy.com/club ...
- sharepoint custom web service
创建自定义 ASP.NET Web 服务 http://msdn.microsoft.com/zh-cn/library/ms464040.aspx
- Android时区及语言代码
1. 设置默认时区 PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.timezone=Asia/Shanghai\ 注:搜索“persist ...