
假设从数据库获取到的数据为list
自定义Adapter继承自BaseAdapter,重写getView方法,实例化列表项并且绑定数据就可以了
/** 新建一个类继承BaseAdapter,实现视图与数据的绑定*/public class MyAdapter extends BaseAdapter {
private LayoutInflater mInflater//得到一个LayoutInfalter对象用来导入布局
private List list
/**构造函数*/
public MyAdapter(Context context,List list) {
this.mInflater = LayoutInflater.from(context)
this.list = list
}
@Override
publicint getCount() {
return list.size()//返回数组的长度
}
@Override
public Object getItem(int position) {
return list.get(position)
}
@Override
publiclong getItemId(int position) {
return 0
}
@Override
public View getView(finalint position, View convertView, ViewGroup parent) {
ViewHolder holder
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item,null)
holder = new ViewHolder()
/**得到各个控件的对象*/
holder.title = (TextView) convertView.findViewById(R.id.ItemTitle)
holder.text = (TextView) convertView.findViewById(R.id.ItemText)
holder.bt = (Button) convertView.findViewById(R.id.ItemButton)
convertView.setTag(holder)//绑定ViewHolder对象
}
else{
holder = (ViewHolder)convertView.getTag()//取出ViewHolder对象
}
holder.title.setText(list.get(position).getId().toString())
holder.text.setText(list.get(position).getName().toString())
return convertView
}
/**存放控件*/
class ViewHolder{
public TextView title
public TextView text
}
}
Android应用程序的数据通常保存在以下地方:XML文件、SharedPerefences、文件、SQLite数据库、外接数据库等。除SQLite数据库和外接数据库外,其他几种方式都只能存储少量数据。
SQLite数据库是一种嵌入式数据库,可以嵌入在Android中。Android程序可以直接 *** 作SQLite数据库,但数据无法在不同终端之间共享。
外接数据库可以实现不同APP、不同移动终端共享数据。Android也可以直接访问外接数据库,如MySQL、SQL Server等,但这种方式不安全。通常的做法是使用Web服务访问外接数据库,返回基本类型数据或JSON格式数据,Android访问Web服务,即避免Android直接 *** 作外接数据库。这有我写的一个《
Android访问JavaEE部署的Web服务返回的JSON格式数据
》的 *** 作说明:http://wenku.baidu.com/view/32a022c8581b6bd97e19ea09
欢迎继续交流!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)