ListView使用CursorAdapter增加和删除item
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO 自动生成的方法存根
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.resume); myDataBaseHelper = new MyDataBaseHelper(this, "Resume1.db", null, 1);
db = myDataBaseHelper.getReadableDatabase(); ViewUtils.inject(this); cursor = db.query("Resume", null, null, null, null, null, null);
adapter = new DataCursorAdapter(this, cursor);
ListView listView=(ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
} @Override
protected void onResume() {
// TODO 自动生成的方法存根
super.onResume();
cursor = db.query("Resume", null, null, null, null, null, null);
adapter.changeCursor(cursor);
}
DataCursorAdapter部分代码:
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
// TODO 自动生成的方法存根
ViewHolder viewHolder=new ViewHolder();
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view=inflater.inflate(R.layout.resume_item, parent,false);
viewHolder.nameListET=(TextView) view.findViewById(R.id.nameListET);
viewHolder.relationListSpinner=(TextView) view.findViewById(R.id.relationListSpinner);
viewHolder.schoolListET=(EditText) view.findViewById(R.id.schoolListET);
viewHolder.workListET=(EditText) view.findViewById(R.id.workListET);
viewHolder.deleteResume=(Button) view.findViewById(R.id.deleteResume);
view.setTag(viewHolder);
return view;
} @Override
public void bindView(View view, final Context context, final Cursor cursor) {
// TODO 自动生成的方法存根 viewHolder = (ViewHolder) view.getTag();
name = cursor.getString(cursor.getColumnIndex("name"));
relation = cursor.getString(cursor.getColumnIndex("relation"));
school = cursor.getString(cursor.getColumnIndex("school"));
work = cursor.getString(cursor.getColumnIndex("work"));
final String itemId = cursor.getString(cursor.getColumnIndex("_id")); viewHolder.nameListET.setText(name);
viewHolder.relationListSpinner.setText(relation);
viewHolder.schoolListET.setText(school);
viewHolder.workListET.setText(work);
viewHolder.deleteResume.setTag(itemId); viewHolder.deleteResume.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO 自动生成的方法存根
myDataBaseHelper = new MyDataBaseHelper(context, "Resume1.db", null, 1);
db = myDataBaseHelper.getReadableDatabase();
db.delete("Resume", "_id= "+v.getTag(), null);
cursor.requery();
notifyDataSetChanged(); }
}); } @Override
public void changeCursor(Cursor cursor) {
// TODO 自动生成的方法存根
super.changeCursor(cursor);
} class ViewHolder{ TextView nameListET;
TextView relationListSpinner;
EditText schoolListET;
EditText workListET;
Button deleteResume; }
ListView使用CursorAdapter增加和删除item的更多相关文章
- Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能
Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18311877) 今天还是给大家带来自定义控件的编写,自定义一个Lis ...
- Android 高级UI设计笔记03:使用ListView实现左右滑动删除Item
1. 这里就是实现一个很简单的功能,使用ListView实现左右滑动删除Item: (1)当我们在ListView的某个Item,向左滑动显示一个删除按钮,用户点击按钮,即可以删除该项item,并且有 ...
- 【转】Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
原文网址:http://blog.csdn.net/xiaanming/article/details/17539199 转帖请注明本文出自xiaanming的博客(http://blog.csdn. ...
- [转]Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一 ...
- 利用ListView批量删除item
利用CheckBox选中一个或多个item,最后批量删除它们. 程序运行效果图如下: package com.test.adapter; import java.util.ArrayList; imp ...
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一 ...
- ListView 实现带有Filpper效果的左右滑动删除 Item
ListView 实现带有Filpper效果的左右滑动删除 Item 的实现最基本的方法还是 对 Listview 的继承重写 .然后是在删除过程中加入 TranslateAnimation 滑动事 ...
- 扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件 corss thread operation”异常
在做界面程序时,常常需要一些数据类,界面元素通过绑定等方式显示出数据,然而由于UI线程不是线程安全的,一般都需要通过Invoke等方式来调用界面控件.但对于数据绑定bindingList而言,没法响应 ...
随机推荐
- lnmp安装--linux通过tar.gz源码包安装mysql
mysql版本:5.6 [http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz] [http://dev.mysql.com/get ...
- makefile:4: *** missing separator. Stop.
今天在编写蜂鸣器的驱动程序时,makefile文件是这样: CROSS=arm-linux- all: beep beep: beep.c $(CROSS)gcc -o beep beep.c $(C ...
- 《C和指针》 读书笔记 -- 第8章 数组
1.在C中,数组名的值是一个指针常量而不是指针变量,也就是数组第一个元素的地址. 2.数组和指针的区别: 声明一个数组时,编译器将根据声明所指定的元素数量为数组保留内存空间,然后再创建数组名,它的值是 ...
- 初次接触pyqt
基本了解了pyqt的原理,到http://www.riverbankcomputing.co.uk/news下载安装好qt后,桌面上会出现Qt Designer. 我们可以利用它进行界面的设计,然后保 ...
- 谈谈java中的WeakReference
Java语言中为对象的引用分为了四个级别,分别为 强引用 .软引用.弱引用.虚引用. 本文只针对java中的弱引用进行一些分析,如有出入还请多指正. 在分析弱引用之前,先阐述一个概念:什么是对象可到达 ...
- Oracle回收站
回收站是删除对象使用的存储空间.可以使用实例参数recyclebin禁用回收站,默认是on,可以为某个会话或系统设置为off或on.所有模式都有一个回收站. 当表空间不足时可以自动重用回收站对象占用的 ...
- Mysql grant权限管理
MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 [identified by '密码'] 最常用的,弄主从同步的时候,给从库的slave用户设置拥有所 ...
- SVN 提交必填备注Commit
操作方法:在SVN的Repositories下,找到要配置的项目,在项目目录下找到hooks文件夹,在其下创建pre-commit.bat文件,把下面复制进去就可以了(无需重启,如果改动,保存bat文 ...
- 关于 .net 开发 Office Word 的一些问题小结
1.在"组件服务"的DCom配置中找到Microsoft Office Word =>属性=>标识选项卡,然后选择交互式用户:::=>"安全" ...
- bnu 4358 左手定则 (搜索)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4358 [题意]:给定起始位置和方向和目的地,按照左转.前进.右转.后退的优先级递减,也就是说能左转就 ...