07_android入门_listView的几种Adaptor的实现_自定义的adaptor

来源:互联网 发布:yum心意美食卡介绍 编辑:程序博客网 时间:2024/05/17 04:08

1、数据的获取

@Overridepublic List<User> findAll() {List<User> entities=new ArrayList<User>();SQLiteDatabase db=databaseHelper.getWritableDatabase();Cursor c=db.rawQuery("select userid,username,userage,usersalary,userphone from user",null);while(c.moveToNext()){User entity=new User();entity.setUserId(c.getInt(c.getColumnIndex("userid")));entity.setUserName(c.getString(c.getColumnIndex("username")));entity.setUserAge(c.getInt(c.getColumnIndex("userage")));entity.setUserSalary(c.getDouble(c.getColumnIndex("usersalary")));entity.setUserPhone(c.getString(c.getColumnIndex("userphone")));entities.add(entity);}db.close();return entities;}


2、MVC层的实现

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 设置显示的视图setContentView(R.layout.activity_main);// 获取显示的控件对象lv_user = (ListView) findViewById(R.id.lv_user);// 视图层VdatabaseHelper = new DatabaseHelper(this);userDao = new UserDaoImpl(databaseHelper);// 获取显示的数据entities = userDao.findAll();// 创建自定义的adapter对象MyAdapter adapter = new MyAdapter();// adapter作为控制层lv_user.setAdapter(adapter);lv_user.setOnItemClickListener(this);}// 继承了BaseAdapter 这个BaseAdapter类实现了ListAdapter接口// 控制层Cclass MyAdapter extends BaseAdapter {// 返回总条目的数量@Overridepublic int getCount() {// TODO Auto-generated method stubreturn entities.size();}//返回当前条目对应的对象@Overridepublic Object getItem(int position) {return entities.get(position);}@Overridepublic long getItemId(int position) {return position;}// 返回每个条目@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 系统定义的item布局// 注意:对应的布局中choiceMode(无关)// return singleChoice(position); //return multipleChoice(position);// 自定义item布局User entity = entities.get(position);View v = View.inflate(MainActivity_myadaptor.this, R.layout.list_item_user,null);TextView tv_id = (TextView) v.findViewById(R.id.tv_id);TextView tv_name = (TextView) v.findViewById(R.id.tv_name);TextView tv_age = (TextView) v.findViewById(R.id.tv_age);TextView tv_phone = (TextView) v.findViewById(R.id.tv_phone);tv_id.setText("" + entity.getUserId());tv_name.setText("姓名:" + entity.getUserName());tv_age.setText("年龄:" + entity.getUserAge());tv_phone.setText("电话:" + entity.getUserPhone());return v;}


3、结果显示

0 0
原创粉丝点击