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而言,没法响应 ...
随机推荐
- A3992学习记录
ATmega64+A3992驱动步进电机 //ATmega 64a 电机驱动板程序//编译环境 AVR Studio 4.17/AVR GCC//系统外部时钟16M//作者:虞恺 //日期:2012. ...
- 实现Linux select IO复用C/S服务器代码
已在ubuntu 下验证可用 服务器端 #include<stdio.h>#include<unistd.h>#include<stdlib.h>#include& ...
- sql查找最小缺失值与重用被删除的键(转载)
转载自:http://blog.csdn.net/yanghua_kobe/article/details/6262550 在数据处理时,我们经常会使用一些“自增”的插入方式来处理数据.比如学生学号: ...
- EXTJS store 某行某列数据更新等操作
1.可以使用add(Ext.data.Record[] records)或者add(Ext.data.Record record)向store末尾添加一个或多个record.如: var newRec ...
- Spring的配置文件
Web.xml将会配置Spring的配置文件位置: <servlet> <servlet-name>x</servlet-name> & ...
- iOS CoCoa编程中视图控制器与视图类(转)
分类: iPhone2012-05-28 11:19 837人阅读 评论(0) 收藏 举报 cocoa编程iosuinavigationcontrolleruiviewiphone iPhone编程规 ...
- 微软职位内部推荐-Principal Dev Manager for Windows Phone Shell
微软近期Open的职位: Location: China, BeijingDivision: Operations System Group Engineering Group OverviewOSG ...
- hbase-site.xml 参数设置
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="confi ...
- 关于WinForm引用WPF窗体
项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能 ...
- Elasticsearch从0.90(0.90.x)到1.2(1.x)API的变化-二
本文为官方文档的译文加个人理解.作者翻译时,elasticsearch(下面简称es)的版本为1.2.2. 请支持原创:http://www.cnblogs.com/donlianli/p/38367 ...