@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的更多相关文章

  1. Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...

  2. Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果

    本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18311877) 今天还是给大家带来自定义控件的编写,自定义一个Lis ...

  3. Android 高级UI设计笔记03:使用ListView实现左右滑动删除Item

    1. 这里就是实现一个很简单的功能,使用ListView实现左右滑动删除Item: (1)当我们在ListView的某个Item,向左滑动显示一个删除按钮,用户点击按钮,即可以删除该项item,并且有 ...

  4. 【转】Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

    原文网址:http://blog.csdn.net/xiaanming/article/details/17539199 转帖请注明本文出自xiaanming的博客(http://blog.csdn. ...

  5. [转]Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一 ...

  6. 利用ListView批量删除item

    利用CheckBox选中一个或多个item,最后批量删除它们. 程序运行效果图如下: package com.test.adapter; import java.util.ArrayList; imp ...

  7. Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一 ...

  8. ListView 实现带有Filpper效果的左右滑动删除 Item

    ListView 实现带有Filpper效果的左右滑动删除 Item  的实现最基本的方法还是 对 Listview 的继承重写 .然后是在删除过程中加入 TranslateAnimation 滑动事 ...

  9. 扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件 corss thread operation”异常

    在做界面程序时,常常需要一些数据类,界面元素通过绑定等方式显示出数据,然而由于UI线程不是线程安全的,一般都需要通过Invoke等方式来调用界面控件.但对于数据绑定bindingList而言,没法响应 ...

随机推荐

  1. 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值(转载)

    1.阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值  ...

  2. Java http post

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  3. gets--vs--fgets

    gets  fget的区别 这两个函数都能从标准的输入流中读取信息,比如从键盘中输入信息,但是有些区别.   使用gets当输入的字符多于预定个数时候,会造成溢出,程序报错. int main(int ...

  4. hibernate的n+1问题

    下面选自<精通Hibernate:Java对象持久化技术详解>作者:孙卫琴 在Session的缓存中存放的是相互关联的对象图.默认情况下,当Hibernate从数据库中加载Customer ...

  5. Catalyst揭秘 Day3 sqlParser解析

    Catalyst揭秘 Day3 sqlParser解析 今天我们会进入catalyst引擎的第一个模块sqlparser,它是catalyst的前置模块. 树形结构 从昨天的介绍我们可以看到sqlPa ...

  6. Mac技巧之让U盘、移动硬盘在苹果电脑和Windows PC都能识别/读写,且支持4GB大文件:exFAT格式

    如果您的 U 盘.移动硬盘既要用于 PC 又要用于苹果电脑,Mac OS X 系统的 HFS+ 和 Windows 的 NTFS 格式显然都不行……HFS+ 在 Windows 下不识别,NTFS 格 ...

  7. 元类metaClass

    metaClass 实现动态改变对象的能力,这点特别像python(metaClass),Python中类(不是元类)的概念借鉴于Smalltalk groovy demo: class Person ...

  8. Jquery异步请求简单实例(转)

    本文引用自Xingsoft. 一.Jquery向aspx页面请求数据 前台页面JS代码:             $("#Button1").bind("click&qu ...

  9. PAT-乙级-1044. 火星数字(20)

    1044. 火星数字(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 火星人是以13进制计数的: 地球人的 ...

  10. smarty 时间格式化date_format

    代码如下:$smarty = new Smarty; $smarty->assign('yesterday', strtotime('-1 day')); $smarty->display ...