Android中常用的适配器
2013-11-03 01:37
190 查看
Android中常用的适配器
1.常用的适配器有ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 这三个,他们都是继承于BaseAdapter 。
ArrayAdapter
1.final String[] data = { "重打最后一笔", "重打任意一笔", "重打交易明细 ", };
ListView lv = (ListView) findViewById(R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1, data);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// 用户点击了第一行
if (arg2 == 0)
{
}
// 用户点击了第二行
else if (arg2 == 1)
{
}
// 用户点击了第三行
else if (arg2 == 2) {
} else {// 用户点击了第四行
}
}
});
SimpleAdapter
2. final List<Map<String, Object>> values = new ArrayList<Map<String, Object>>();
ListView lv = (ListView) findViewById(R.id.list);
Map<String, Object> map = new HashMap<String, Object>();
/*for(int i=0;i<30;i++)
{
HashMap<String, String>map = new HashMap<String, String>();
map.put("ItemTitle","This is Title.....");
map.put("ItemText","This is text.....");
mylist.add(map);
}*/
map.put("TITLE", "账户管理");
map.put("PIC", R.drawable.jian);
values.add(map);
map = new HashMap<String, Object>();
map.put("TITLE", "IC卡设置");
map.put("PIC", R.drawable.jian);
values.add(map);
map = new HashMap<String, Object>();
map.put("TITLE", "时间设置");
map.put("PIC", R.drawable.jian);
values.add(map);
SimpleAdapter adapter = new SimpleAdapter(AdminActivity.this,
values, R.layout.itemno,
new String[] {"TITLE","PIC"}, new int[] {R.id.title, R.id.pic});
adapter.notifyDataSetChanged();
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int
arg2,long arg3)
{
if(arg2 == 0)
{
}
else if(arg3 == 1)
{
}
else if(arg3 == 2)
{
}
else
{
}
}
});
3.SimpleCursorAdapter一般主要用于数据库,它的数据来源一般都是数据库查询得到的Cursor 我们来看下面的
例子:
String uriString = “content://contacts/people/”;
Cursor myCursor =managedQuery(Uri.parse(uriString), null, null, null, null);
String[] fromColumns = new String[]{People.NUMBER, People.NAME};
int[] toLayoutIDs = new int[] {R.id.nameTextView, R.id.numberTextView};
SimpleCursorAdapter myAdapter;
myAdapter=newSimpleCursorAdapter
(this,R.layout.simplecursorlayout,myCursor,fromColumns,toLayoutIDs);
//传入当前的上下文、一个layout资源,一个游标和两个数组:一个包含使用的列
//的名字,另一个(相同大小)数组包含View中的资源ID,用于显示相应列的数据值。
myListView.setAdapter(myAdapter);
我们把一个游标绑定到了ListView上,并使用自定义的layout显示来显示每一个Item。
4.自定义适配器
public class ImageAdapter extendsBaseAdapter {
private Context mcontext;
};
//构造函数里面有两个参数,一个是数据的来源,另一个是上下文
。
public ImageAdapter(Integer[] imgIds,Context c){
mcontext=c;
imageIds=imgIds;
}
publicint getCount() {
// TODO Auto-generated method stub
return imageIds.length;
}
publicObject getItem(int position) {
// TODO Auto-generated method stub
return null;
}
publiclong getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
//主要工作是做在这里,可以自定义布局,在这里我就不多说了
publicView getView(int position, View convertView, ViewGroup parent)
{
// TODO Auto-generated method stub
ImageView imageview = newImageView(mcontext);
imageview.setImageResource(imageIds[position]);
imageview.setLayoutParams(newGallery.LayoutParams(120,120));
imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageview;
}
}
1.常用的适配器有ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 这三个,他们都是继承于BaseAdapter 。
ArrayAdapter
1.final String[] data = { "重打最后一笔", "重打任意一笔", "重打交易明细 ", };
ListView lv = (ListView) findViewById(R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1, data);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// 用户点击了第一行
if (arg2 == 0)
{
}
// 用户点击了第二行
else if (arg2 == 1)
{
}
// 用户点击了第三行
else if (arg2 == 2) {
} else {// 用户点击了第四行
}
}
});
SimpleAdapter
2. final List<Map<String, Object>> values = new ArrayList<Map<String, Object>>();
ListView lv = (ListView) findViewById(R.id.list);
Map<String, Object> map = new HashMap<String, Object>();
/*for(int i=0;i<30;i++)
{
HashMap<String, String>map = new HashMap<String, String>();
map.put("ItemTitle","This is Title.....");
map.put("ItemText","This is text.....");
mylist.add(map);
}*/
map.put("TITLE", "账户管理");
map.put("PIC", R.drawable.jian);
values.add(map);
map = new HashMap<String, Object>();
map.put("TITLE", "IC卡设置");
map.put("PIC", R.drawable.jian);
values.add(map);
map = new HashMap<String, Object>();
map.put("TITLE", "时间设置");
map.put("PIC", R.drawable.jian);
values.add(map);
SimpleAdapter adapter = new SimpleAdapter(AdminActivity.this,
values, R.layout.itemno,
new String[] {"TITLE","PIC"}, new int[] {R.id.title, R.id.pic});
adapter.notifyDataSetChanged();
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int
arg2,long arg3)
{
if(arg2 == 0)
{
}
else if(arg3 == 1)
{
}
else if(arg3 == 2)
{
}
else
{
}
}
});
3.SimpleCursorAdapter一般主要用于数据库,它的数据来源一般都是数据库查询得到的Cursor 我们来看下面的
例子:
String uriString = “content://contacts/people/”;
Cursor myCursor =managedQuery(Uri.parse(uriString), null, null, null, null);
String[] fromColumns = new String[]{People.NUMBER, People.NAME};
int[] toLayoutIDs = new int[] {R.id.nameTextView, R.id.numberTextView};
SimpleCursorAdapter myAdapter;
myAdapter=newSimpleCursorAdapter
(this,R.layout.simplecursorlayout,myCursor,fromColumns,toLayoutIDs);
//传入当前的上下文、一个layout资源,一个游标和两个数组:一个包含使用的列
//的名字,另一个(相同大小)数组包含View中的资源ID,用于显示相应列的数据值。
myListView.setAdapter(myAdapter);
我们把一个游标绑定到了ListView上,并使用自定义的layout显示来显示每一个Item。
4.自定义适配器
public class ImageAdapter extendsBaseAdapter {
private Context mcontext;
};
//构造函数里面有两个参数,一个是数据的来源,另一个是上下文
。
public ImageAdapter(Integer[] imgIds,Context c){
mcontext=c;
imageIds=imgIds;
}
publicint getCount() {
// TODO Auto-generated method stub
return imageIds.length;
}
publicObject getItem(int position) {
// TODO Auto-generated method stub
return null;
}
publiclong getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
//主要工作是做在这里,可以自定义布局,在这里我就不多说了
publicView getView(int position, View convertView, ViewGroup parent)
{
// TODO Auto-generated method stub
ImageView imageview = newImageView(mcontext);
imageview.setImageResource(imageIds[position]);
imageview.setLayoutParams(newGallery.LayoutParams(120,120));
imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageview;
}
}
相关文章推荐
- Android常用适配器分析(如何制作简易Launcher)
- Android中最常用的适配器:PagerAdapter与FragmentPagerAdapter
- Android常用适配器Adapter
- Android常用适配器分析(如何制作简易Launcher)
- Android中常用适配器及定义自己的适配器
- Android中常用适配器理解及使用
- Android中常用适配器及定义自己的适配器
- Android 常用的适配器总结
- Android中常用适配器及定义自己的适配器
- Android中常用适配器及定义自己的适配器
- Android中常用适配器及定义自己的适配器
- Android 常用适配器总结
- Android 常用适配器总结
- Android_常用控件及适配器
- Android常用适配器分析(如何制作简易Launcher)
- Android中常用的适配器
- Android----常用适配器
- [转]Android中常用适配器及定义自己的适配器
- Android 常用适配器总结
- Android 常用适配器总结