步聚:

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 应用的更多相关文章

  1. Android ListView使用BaseAdapter与ListView的优化 (转至 http://www.open-open.com/lib/view/open1339485728006.html)

    在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作.也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点.读者可 ...

  2. android ListView之BaseAdapter的使用方式

    通常在使用自己定义适配器的时候,我们都会掌握一种固定的模式.充分利用convertView+缓存的方式. private ArrayList<ListBean> list ; privat ...

  3. Android 杂谈---ListView 之BaseAdapter

    前言 几种适配器里面相对来说比较简单的一种适配器,在使用时需要实现几个方法,并且也需要对convertView进行优化 此篇文章以使用listView与BaseAdapter来实现表格样式的布局举例( ...

  4. Android listview与adapter用法(BaseAdapter + getView)

    Android listview与adapter用法http://www.cnblogs.com/zhengbeibei/archive/2013/05/14/3078805.html package ...

  5. Android listview与adapter用法

    listview与adapter用法 博客分类: android   一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...

  6. Android基础类之BaseAdapter

    转:http://www.cnblogs.com/mandroid/archive/2011/04/05/2005525.html Android基础类之BaseAdapter BaseAdapter ...

  7. Android ListView无法触发ItemClick事件

    Android ListView无法触发ItemClick事件 开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承Base ...

  8. android ListView的介绍和优化

    xml设计 <?xml version="1.0"?> -<RelativeLayout tools:context=".MainActivity&qu ...

  9. 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter

    第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...

随机推荐

  1. append,appendTo和prepend #1daae2

    1.append(content)                                                                                   ...

  2. Node.JS模块系统

    1.什么是模块? 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js ...

  3. canvas滤镜-刮刮乐

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 第三届“HTML5峰会”变身“iWeb峰会”8月来袭

    第三届“HTML5峰会”——2000人规模的“iWeb峰会”将于8月16日在北京召开.本次大会由HTML5梦工场主办,是在前两届“HTML5峰会”基础上的延伸和升华. 三年以来,HTML5梦工场致力于 ...

  5. js动态计算移动端rem

    在做移动端web app的时候,众所周知,移动设备分辨率五花八门,虽然我们可以通过CSS3的media query来实现适配,例如下面这样: html { font-size : 20px; } @m ...

  6. Egret白鹭H5小游戏开发入门(一)

    前言: 好久没更新博客了,以前很多都不会,所以常常写博客总结,倒是现在有点点经验了就懒了.在过去的几个月里,在canvas游戏框架方面,撸过了CreateJS,玩得了Egret,又学过PIXI.js. ...

  7. FlippingBook使用教程

    FlippingBook是一款收费的图书翻页效果的flash播放器.在线预览地址:FlippingBook,破解版下载地址 备用下载地址 预览效果: 它的文件结构如下: 其中:css文件夹是一个简单的 ...

  8. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q19-Q20)

    Question 19 You are designing a custom SharePoint 2010 solution package. It will include a feature t ...

  9. ViewPager的使用小技巧

    1.在ViewPager中默认加载当前屏幕上的界面和左右相邻界面的数据从而实现页面滑动的快速切换.可以通过调用setOffscreenPageLimit(int)方法,定制预加载相邻页面的数目. 2. ...

  10. Android 手机卫士--home界面布局

    本文实现当从splash界面进入hone界面的时候,产生一种渐进淡入的动画效果,在onCreate中调用一个方法initAnimation(),代码如下: /** * 添加淡入的动画效果 */ pri ...