ArrayAdapter ,SimpleAdapter与SimpleCursorAdapter 区别
来源:互联网 发布:p2p理财记账软件 编辑:程序博客网 时间:2024/05/21 09:40
很多初学者肯定会对适配器感到困惑,其实他们就是数据源不同而已 。
1. String[]: ArrayAdapter2. List<Map<String,?>>: SimpleAdapter
3. 数据库Cursor: SimpleCursorAdapter
使用ArrayAdapter(数组适配器)顾名思义,需要把数据放入一个数组以便显示。
android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字
SimpleAdapter能定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)
SimpleAdapter
public class List3 extends ListActivity {
List<Map<String, Object>> list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
list = getListForSimpleAdapter(); //list为数据集合
SimpleAdapter adapter = new SimpleAdapter(this, list,
R.layout.item,
new String[] { "BigText", "LittleText", "img" },
new int[] { R.id.BigText,R.id.LittleText, R.id.img });
//可以想成把一个放好数据的布局文件放入本界面中
setListAdapter(adapter);
}
private List<Map<String, Object>> getListForSimpleAdapter() {
List<Map<String,Object>> list=newArrayList<Map<String, Object>>(3);
Map<String, Object> map = new HashMap<String, Object>();
map.put("BigText", "Android");
map.put("LittleText", "Google phone.");
map.put("img", R.drawable.n);
list.add(map);
map = new HashMap<String, Object>();
map.put("BigText", "Lenovo");
map.put("LittleText", "Ophone");
map.put("img", R.drawable.o);
list.add(map);
map = new HashMap<String, Object>();
map.put("BigText", "Droid");
map.put("LittleText", "Motorola");
map.put("img", R.drawable.droid);
list.add(map);
return list;
}
}
SimpleCursorAdapter
注意:SimpleCursorAdapter是和数据库有关的东西,而sqlite数据库所要求的 自动增长的 id 必须是 _id这中形式
public class List2 extends Activity {
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView=new ListView(this);
Cursorc=getContentResolver().query(People.CONTENT_URI,
null, null, null, null);
startManagingCursor(c);
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1,
c,
new String[] {People.NAME} ,
new int[] {android.R.id.text1});
listView.setAdapter(adapter);
setContentView(listView);
}
}
ArrayAdapter
public class List1 extends Activity {
private ListVeiw listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView=new ListVeiw(this);
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mStrings));
setContentVieww(listView);
}
private String[] mStrings = {
"Abbaye de Belloc", "Abbaye du Mont des Cats",
"Acorn", "Adelost", "Affidelice au Chablis",
"Aisy Cendre", "Allgauer Emmentaler", "Alverca",
"Ami du Chambertin", "Anejo Enchilado", "Anneau
"Aragon", "Ardi Gasna", "Ardrahan", "Armenian
"Asadero", "Asiago", "Aubisque Pyrenees", "Autun",
"Babybel", "Baguette Laonnaise", "Bakers", "Bal"};
}
1 0
- ArrayAdapter ,SimpleAdapter与SimpleCursorAdapter 区别
- ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
- ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
- ArrayAdapter SimpleAdapter SimpleCursorAdapter 区别
- ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
- [Android]ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
- Android SimpleAdapter,SimpleCursorAdapter,ArrayAdapter的区别
- BaseAdapter ArrayAdapter SimpleCursorAdapter SimpleAdapter BaseExpandableListAdapter
- ListView适配器--ArrayAdapter;SimpleAdapter;SimpleCursorAdapter
- [Android] Adapter:SimpleAdapter SimpleCursorAdapter ArrayAdapter 与ListView的用法
- Android-Adapter实现方法(ArrayAdapter,SimpleAdapter,SimpleCursorAdapter)
- ArrayAdapter()与SimpleAdapter()适配器
- Android学习之Adapter:SimpleAdapter,SimpleCursorAdapter,ArrayAdapter(数据库 列表)
- Android之ListView使用方法-ArrayAdapter-SimpleCursorAdapter-SimpleAdapter-BaseAdapter
- spinner在simpleAdapter上与arrayAdapter的区别
- ListView(2)SimpleAdapter与SimpleCursorAdapter详解
- ArrayAdapter,SimpleAdapter,自定义Adapter区别代码
- 我的Android进阶之旅------>Android ListView 应用解析(使用ArrayAdapter,SimpleAdapter和SimpleCursorAdapter适配器)
- Centos(5.8)开启telnet服务,当需要升级openssh的时候
- Tomcat负载均衡和集群环境的搭建
- 猴子吃桃问题
- 【无人机开发】通讯协议MavLink详解
- #!/usr/bin/php
- ArrayAdapter ,SimpleAdapter与SimpleCursorAdapter 区别
- 7. SpringMVC 数据验证
- 使用git管理自己的代码--简单使用流程
- 从尾到头打印链表
- JavaScript语言精粹——语法
- 初识AngularJS
- nil、Nil、NULL和NSNull的理解
- Android如何捕获应用的crash信息
- 第3课:Scala函数式编程彻底精通及Spark源码阅读