07_android入门_listView的几种Adaptor的实现_自定义的adaptor
2014-06-06 10:16
323 查看
1、数据的获取
2、MVC层的实现
3、结果显示
@Override public 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层的实现
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置显示的视图 setContentView(R.layout.activity_main); // 获取显示的控件对象 lv_user = (ListView) findViewById(R.id.lv_user);// 视图层V databaseHelper = 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接口 // 控制层C class MyAdapter extends BaseAdapter { // 返回总条目的数量 @Override public int getCount() { // TODO Auto-generated method stub return entities.size(); } //返回当前条目对应的对象 @Override public Object getItem(int position) { return entities.get(position); } @Override public long getItemId(int position) { return position; } // 返回每个条目 @Override public 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、结果显示
相关文章推荐
- 08_android入门_listView的几种Adaptor的实现_ArrayAdapter
- 10_android入门_listView的几种Adaptor的实现_SimpleAdapter
- 09_android入门_listView的几种Adaptor的实现_simplecursoradaptor
- 06-android入门_listview采用系统和自定义的方式实现item
- Android入门:ListView(SimpleAdapter实现)
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- android 自定义ScrollView实现反弹效果(以及解决和ListView之间的冲突) .
- 实现自定义view(2):仿Android QQ多屏幕显示ListView的效果
- (转)【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android入门:ListView(SimpleCursorAdapter实现)
- android自定义listview实现圆角
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android中自定义Adapter实现ListView动态刷新进度条
- android 自定义ScrollView实现反弹效果(以及解决和ListView之间的冲突)
- Android 实现圆角ListView 几种方法
- android自定义listview实现圆角
- Android中自定义Adapter实现ListView动态刷新进度条
- Android中自定义Adapter实现ListView动态刷新进度条
- Android ListView 自定义用法(ListView 实现单选功能)
- Android---自定义带CheckBox的ListView实现