ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
[b][color=blue]数据 源不同则适配器不同1. String[]: ArrayAdapter2. 数据库 Cursor: SimpleCursorAdapter3. List: SimpleAdapterArrayAdapter 需要把数据放入一个数组以便显示;android .R.layout.simple_list_item_1是系统 定义 好的...
·
[b][color=blue]数据 源不同则适配器不同
1. String[]: ArrayAdapter
2. 数据库 Cursor: SimpleCursorAdapter
3. List<Map <String,?>>: SimpleAdapter
ArrayAdapter 需要把数据放入一个数组以便显示;
android .R.layout.simple_list_item_1是系统 定义 好的布局文件 只显示一行文字
SimpleCursorAdapter 是和数据库有关的东西,而sqlite数据库所要求的 自动 增长的 id 必须是 _id这中形式
SimpleAdapter 能定义各种各样的布局出来,可以放上ImageView (图片),还可以放上Button(按钮),CheckBox(复选框)
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"};
}
Simplecursoradapter代码
public class List2 extends Activity {
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView=new ListView(this);
Cursor c=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);
}
}
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;
}
} [/color][/b]
1. String[]: ArrayAdapter
2. 数据库 Cursor: SimpleCursorAdapter
3. List<Map <String,?>>: SimpleAdapter
ArrayAdapter 需要把数据放入一个数组以便显示;
android .R.layout.simple_list_item_1是系统 定义 好的布局文件 只显示一行文字
SimpleCursorAdapter 是和数据库有关的东西,而sqlite数据库所要求的 自动 增长的 id 必须是 _id这中形式
SimpleAdapter 能定义各种各样的布局出来,可以放上ImageView (图片),还可以放上Button(按钮),CheckBox(复选框)
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"};
}
Simplecursoradapter代码
public class List2 extends Activity {
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView=new ListView(this);
Cursor c=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);
}
}
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;
}
} [/color][/b]
更多推荐
已为社区贡献2条内容
所有评论(0)