/**
* 2017-07-31.Book 类
*/ public class Book {
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAuthor() {
return author;
} public void setAuthor(String author) {
this.author = author;
} public double getPrice() {
return price;
} public void setPrice(double price) {
this.price = price;
} public Book(String name, String author, double price) {
super();
this.name = name;
this.author = author;
this.price = price;
} private String name;
private String author;
private double price;
}
    <!--主xml中,需要用到的ListView-->
<ListView
android:id="@+id/List"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></ListView>
<!--itemlist.xml文件,呈现数据的样式-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"> <TextView
android:id="@+id/Author"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> <TextView
android:id="@+id/Name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20pt" /> <TextView
android:id="@+id/Price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20pt" /> </LinearLayout>

ArrayAdapter的绑定方法

public class MyMain extends Activity {
List<Book> list = new ArrayList<Book>();
ListView listView; @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//数据写入
GetListValue(); listView = (ListView) findViewById(R.id.List);
arrayAdapter dap=new arrayAdapter(this,list);
listView.setAdapter(dap);
} private void GetListValue() {
list.add(new Book("第一行代码 Android 第2版", "郭霖", 57.60));
list.add(new Book("Android从入门到精通", "明日科技", 13.99));
list.add(new Book("疯狂Android讲义(第3版)", "李刚", 75.60));
list.add(new Book("Android开发艺术探索", "任玉刚", 67.20));
} //重新构造ArrayAdapter
private class arrayAdapter extends ArrayAdapter<Book> {
public arrayAdapter(Context context, List<Book> books) {
super(context, 0, 0, books);
} @NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
CheckInfo item;
View view = convertView;
if (view == null) {
view = LayoutInflater.from(MyMain.this).inflate(R.layout.itemlist, parent, false);
item = new CheckInfo(view);
view.setTag(item);
} else {
item = (CheckInfo) view.getTag();
}
Book book = list.get(position);
TextView tName = item.gettName();
TextView tPrice = item.gettPrice();
TextView tAuthor = item.gettAuthor();
tName.setText(book.getName());
tPrice.setText(book.getPrice() + "");
tAuthor.setText(book.getAuthor());
return view;
}
} private class CheckInfo {
TextView tName;
TextView tAuthor;
TextView tPrice;
View view; public CheckInfo(View view) {
this.view = view;
} public TextView gettName() {
if (tName == null) {
tName = (TextView) view.findViewById(R.id.Name);
}
return tName;
} public TextView gettAuthor() {
if (tAuthor == null) {
tAuthor = (TextView) view.findViewById(R.id.Author);
}
return tAuthor;
} public TextView gettPrice() {
if (tPrice == null) {
tPrice = (TextView) view.findViewById(R.id.Price);
}
return tPrice;
}
}
}

SimpleAdapter的绑定方法

public class SimpleAdap extends Activity {
List<Book> list = new ArrayList<Book>();
ListView view;
List<Map<String, String>> maplist = new ArrayList<Map<String, String>>(); @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GetListValue();
for (Book b : list) {
Map<String, String> map = new HashMap<String, String>();
map.put("Author", b.getAuthor());
map.put("Name", b.getName());
map.put("Price", b.getPrice() + "");
maplist.add(map);
}
view = (ListView) findViewById(R.id.List);
SimpleAdapter adapter = new SimpleAdapter(
this,
maplist,
R.layout.itemlist,
new String[]{"Author", "Name", "Price"},
new int[]{R.id.Author, R.id.Name, R.id.Price}
);
view.setAdapter(adapter);
} private void GetListValue() {
list.add(new Book("第一行代码 Android 第2版", "郭霖", 57.60));
list.add(new Book("Android从入门到精通", "明日科技", 13.99));
list.add(new Book("疯狂Android讲义(第3版)", "李刚", 75.60));
list.add(new Book("Android开发艺术探索", "任玉刚", 67.20));
}
}

BaseAdapter的绑定方法

public class BaseItem extends Activity {
List<Book> list=new ArrayList<Book>();
ListView listView; @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GetListValue();
listView = (ListView) findViewById(R.id.List);
Baseadapter b = new Baseadapter();
listView.setAdapter(b);
} private void GetListValue() {
list.add(new Book("第一行代码 Android 第2版", "郭霖", 57.60));
list.add(new Book("Android从入门到精通", "明日科技", 13.99));
list.add(new Book("疯狂Android讲义(第3版)", "李刚", 75.60));
list.add(new Book("Android开发艺术探索", "任玉刚", 67.20));
} private class Baseadapter extends BaseAdapter {
@Override
public long getItemId(int position) {
return position;
} @Override
public int getCount() {
return list.size();
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
CheckInfo c;
View view = convertView;
if (view == null) {
view = LayoutInflater.from(BaseItem.this).inflate(R.layout.itemlist, parent, false);
c = new CheckInfo(view);
view.setTag(c);
} else {
c = (CheckInfo) view.getTag();
}
Book book = list.get(position);
TextView name = c.gettName();
TextView price = c.gettPrice();
TextView author = c.gettAuthor();
name.setText(book.getName());
author.setText(book.getAuthor());
price.setText(book.getPrice() + "");
return view;
} @Override
public Object getItem(int position) {
return position;
}
} private class CheckInfo {
TextView tName, tAuthor, tPrice;
View view; public CheckInfo(View v) {
view = v;
} public TextView gettName() {
if (tName == null) {
tName = (TextView) view.findViewById(R.id.Name);
}
return tName;
} public TextView gettAuthor() {
if (tAuthor == null) {
tAuthor = (TextView) view.findViewById(R.id.Author);
}
return tAuthor;
} public TextView gettPrice() {
if (tPrice == null) {
tPrice = (TextView) view.findViewById(R.id.Price);
}
return tPrice;
}
}
}

Android ArrayAdapter,BaseAdapter,SimpleAdapter适配器绑定数据方法的更多相关文章

  1. android ArrayAdapter BaseAdapter SimpleAdapter使用讲解

    不是我针对谁,我只想针对新手玩家. 不清楚Adapter作用的可以看一下http://www.cnblogs.com/zhichaobouke/p/5798672.html (括号里的内容都是我主观添 ...

  2. android data binding jetpack IV 绑定一个方法另一种写法和参数传递

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  3. [置顶] DataGridView控件---绑定数据方法

             DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...

  4. android data binding jetpack III 绑定一个方法

    第三篇 给view绑定一下方法响应. (补充:1.被绑定的方法必须是public的.   1.绑定方法可以用主语法.也可以用以下双冒号方式“::” android:onClick="@{pr ...

  5. DataGridView 绑定数据方法

    DataGridView控件用于显示来自多种外部数据源中的数据,用户可以在此控件添加行和列,并可以填充数据.   如要让DataGridView显示数据库中的数据,只需要将此控件绑定到挑用数据库的数据 ...

  6. Android 使用BaseAdapter 插入不同类型数据

    在使用过程有时要在listview中插入不同类型的数据,比如说position=0的位置插入,广告,其它列表显示数据的情况. 一定要重写两种方法 @Override public int getIte ...

  7. Android ListView 之 SimpleAdapter 二 (包含 item 中按钮监听)

    1    MainActivity.java package com.myadapter; import java.util.ArrayList; import java.util.HashMap; ...

  8. 13.Android-ListView使用、BaseAdapter/ArrayAdapter/SimpleAdapter适配器使用

    1.ListView ListView 是 Android 系统为我们提供的一种列表显示的一种控件,使用它可以用来显示我们常见的列表形式.继承自抽象类 AdapterView.继承图如下所示: 以微信 ...

  9. Android之ListView性能优化——一行代码绑定数据——万能适配器

    如下图,加入现在有一个这样的需求图,你会怎么做?作为一个初学者,之前我都是直接用SimpleAdapter结合一个Item的布局来实现的,感觉这样实现起来很方便(基本上一行代码就可以实现),而且也没有 ...

随机推荐

  1. jenkins插件使用小结

    jenkins官网:https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project jenkins插件: 1.AnsiC ...

  2. Vmware linux 无法上网

    流程如下: 1)点击 VM->Settings Hardware选项卡下面 2)点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT, 3.进入Windo ...

  3. maven 中使用jstl 错误解决

    maven 中使用jstl表达式中出现如上错误.原因: 导入jstl 的jar包,却没有在pom文件中添加jstl相关的jar依赖项. <!--jstl表达式--> <depende ...

  4. swift百度地图api

    swift使用百度地图api遇到的坑 之前在Android上用过百度地图,以为大概类似,也没仔细看文档,结果被自己坑了 注意事项,http://developer.baidu.com/map/inde ...

  5. PHP——面向对象

    <body> <?php //类调用用:: //对象调用用-> class Dog1//定义类 { //成员属性(变量) var $name; var $age; var $p ...

  6. E-R图到数据库表

    数据库E-R图相关 日 17:39 E-R数据模型所採用的三个主要概念是:实体集.联系集和属性 实体集:具有同样类型及同样性质(或属性)的实体集合 属性:简单属性和符合属性:单值属性和多值属性:nul ...

  7. ES插件elasticsearch-mapper-attachments 2.3.4及各个版本正确下载地址

    ES版本更新那么快,文档链接你也倒是跟上啊, 插件zip包下载,都是error link...难不成是我网络原因? 下载zip页面报错信息: This XML file does not appear ...

  8. go * 和 &的区别

    类型 *T 是指向 T 类型值的指针.其零值为 nil . var p *int & 操作符会生成一个指向其操作数的指针. i := 42 p = &i * 操作符表示指针指向的底层值 ...

  9. selenium基础框架的封装(Python版)这篇帖子在百度关键词搜索的第一位了,有图为证,开心!

    百度搜索结果页地址:https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd=se ...

  10. 学习《深入理解C#》—— 可空类型、可选参数和默认值 (第一章1.3)

    目录 C#可空类型 C# 可选参数和默认值 C# 可空类型 在日常生活中,相信大家都离不开手机,低头族啊!哈哈... 假如手机厂商生产了一款新手机,暂时还未定价,在C#1中我们该怎么做呢? 常见的解决 ...