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应用程序中经常用到的基础数据适配器,它的 ...
随机推荐
- strtr和str_replace字符替换函数
(一)strtr是字符替换函数 (1)单个字符替换: <?php echo strtr("abba", "ab", "10"),&qu ...
- opencart 添加新模型
1,修改模板页,复制category_list.tpl,category_form.tpl,修改成新的名称. category_list.tpl是列出页面,category_form.tpl是添加和修 ...
- socket.io,系统api,
原文:http://www.cnblogs.com/xiezhengcai/p/3956401.html 1. 服务端 io.on('connection',function(socket)); 监听 ...
- Spring4学习笔记2-配置Bean
1.配置bean 配置形式:Xml和注解方式 Bean的配置方式:通过全类名(反射).工厂.FactoryBean 1.1 id必须唯一 2 Spring提供两种类型的IOC容器的实现 BeanFac ...
- 决战大数据之二:CentOS 7 最新JDK 8安装
决战大数据之二:CentOS 7 最新JDK 8安装 [TOC] 修改hostname # hostnamectl set-hostname node1 --static # reboot now 重 ...
- bootstrap源码分析之form、navbar
一.表单(Form) 源码文件:_form.scssmixins/_form.scss 1.按层次结构分:form-group -> form-control/input-group/form- ...
- MasonJS – 创建完美的砌体结构网页布局
MasonJS 插件用来解决目前大多数的网格系统使用中的问题——间距.当使用 Masonry,Isotope 或任何其他网格插件时,布局中会出现空白或边缘参差不齐的情况.MasonJS 可以帮助你填补 ...
- transform:rotate在手机上显示有锯齿的解决方案大全
先来个兼容性说明,洗洗脑: div{transform:rotate(7deg);-ms-transform:rotate(7deg); /* IE 9 */-moz-transform:rotate ...
- MSCRM 用户登录日志
MSCRM中关于用户登录信息,默认是不显示的,但是许多客户又有相关的需求. 下面将介绍给大家方法: 一.开启系统审核功能和用户访问审核. 二.打开设置中审核视图. 三.在过滤事件中选择“用户通过web ...
- putty保持不掉线
putty连接linux,一会就掉线了,然后再重新输入,比较麻烦. 参考http://www.putty.ws/putty-lianjie这篇文章解决. 如图,30表示每隔30秒putty会发一个空的 ...