Android_适配器
来源:互联网 发布:货车找活都用什么软件 编辑:程序博客网 时间:2024/06/09 19:52
视图-适配器-数据源
1.ArrayAdapter 数组作为数据源,填充的是ArrayAdapter
public class Example extends ListActivity{
String[] sex = new String(){"男",“女”}//数据源
ArrayAdapter<String> adapter;//数组适配器
public voidonCreate(Bundle SavedInstanceState){ super.onCreate(SavedInstanceStat);
adapter=newArrayAdapter<String(this.android.R.Layout.Simple_List_Item_1,sex); //数据源-->适配器 this.setAdapter(adapter);// 视图<--适配器
}
}
2.SimpleAdapter
ListView list = (ListView)findViewById(R.id.MyListView); //生成动态数组,并且转载数据 ArrayList<HashMap<String, String>> mylist = newArrayList<HashMap<String, String>>(); 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); } //生成适配器,数组ListItem SimpleAdapter mSchedule = new SimpleAdapter(
this, //视图
mylist,//数据来源
R.layout.my_listitem,//ListItem的XML实现 //动态数组与ListItem对应的子项 new String[]{"ItemTitle", "ItemText"}, //ListItem的XML文件里面的两个TextView ID
new int[] {R.id.ItemTitle,R.id.ItemText}); //添加并且显示 list.setAdapter(mSchedule);视图<--适配器
}
3.SimpleCursorAdapter
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);
4.BaseAdpter
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; } //主要工作是做在这里,可以自定义布局,在这里我就不多说了
//ViewHolder使用
public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(context) .inflate(R.layout.good_list_item, null, false); } ViewHolder mViewHolder = ViewHolder.get(convertView); TextView price = mViewHolder.getView(R.id.price); //...其他getView return convertView; }
}
//ViewHolder设计
public class ViewHolder{ private final SparseArray<View> views; private View convertView; private ViewHolder(View convertView){ this.views = new SparseArray<View>(); this.convertView = convertView; convertView.setTag(this); } public static ViewHolder get(View convertView){ if (convertView == null) { return new ViewHolder(convertView); } ViewHolder existedHolder = (ViewHolder) convertView.getTag(); return existedHolder; } public <T extends View> T getView(int viewId) { View view = views.get(viewId); if (view == null) { view = convertView.findViewById(viewId); views.put(viewId, view); } return (T) view; } }
阅读全文
0 0
- Android_适配器
- Android_数据适配器
- Android_适配器(1)
- Android_适配器(2)
- Android_适配器的使用
- android_万能适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- 适配器
- Android_布局
- hdu1228 A + B(C语言)
- linux下安装oracle11g
- Android_应用程序架构
- Android_Tip_去掉标题栏(Z)
- Android_适配器
- WebApi_使用技巧
- Mongodb_技巧
- Mongodb_文件存储
- Git常用命令
- 二十九天
- Android入门:Activity四种启动模式
- 异常_VS_ id为" "的进程当前未运行
- 数据库连接字符串的处理方法!加密解密连接字符串。