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而言,没法响应 ...
随机推荐
- Cassandra1.2文档学习(15)—— 配置数据一致性
参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_config ...
- delphi调用 java 的 WebService服务端.
// InvRegistry.RegisterInvokeOptions(TypeInfo(ModelADServicePortType), ioLiteral); InvRegistry.Regis ...
- ASP.NET生命周期事件顺序
普通页面运行规律 Page_PreInitPage_InitPage_InitCompletePage_PreLoadPage_LoadButton1事件触发!Page_LoadCompletePag ...
- Failed to execute command: ""C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ResGen.exe" 的一个解决办法
最近在做wpf项目,期间下了一些源码参考,但是在build时经常遇到下面这种bug: Error 2 Failed to execute command: ""C:\Program ...
- android websocket推送
1.通过WebSocketServlet来实现 import java.io.IOException; import java.io.UnsupportedEncodingException; imp ...
- Oracle外部表的使用
外部表可以像其它表一样,用select语句作查询.但不能做DML操作,不能建index,不接受约束.这是因为它不是以段的形式存于数据库中,只是以数据字典构造存在,指向一个或多个操作系统文件. 外部表的 ...
- Linux下mail/mailx命令发送邮件
最近看到项目中经常会用mail/mailx命令发送由java程序生成的report,比较新鲜.下面就简单介绍下mail/mailx命令用法.本文以mail命令举例(mail/mailx)效果都是一样的 ...
- EXTJS 4.2 资料 控件之Window窗体添加html
//这里要跳转页面 var subWindow = new Ext.Window({ title: '窗口', width: width, height: height, modal: true,// ...
- SCRUM,一个采用迭代,增量方法来优化可预见控制风险
Scrum是一个用于开发和维持复杂产品的框架,是一个增量的,迭代的开发过程.在这个框架中,整个开发过程是由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到 ...
- jquery1.8在ie8下not无效?
// 不需要的name加到下面 var excludes = ['name1', 'name2', 'name3']; $.each(excludes, function (i, v) { e ...