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而言,没法响应 ...
随机推荐
- 【SQLite】使用replace替换字段中的字符
使用replace替换字段中的字符 如:替换production表中的specification字段中的两个空格为一个空格: update production set specification = ...
- [ Windows] [ OS ] [ Remote Desktop ] 開啟同一個帳號同時2的連線RDP的方式
感謝同事 Allen 的Support :) 執行>gpedit.msc 電腦設定>Windows元件>遠端桌面服務>遠端桌面工作階段主機>連線>限制遠端桌面服務的 ...
- AWS--EC2基本概念
原文:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html EC2:Elastic Compute Cloud 特性包括: ...
- oracle的function和procedure返回值给shell
本文演示两个关于如何在shell中调用oracle的function和procedure,并将返回值返回给shell. 1.首在package中创建function和procedure,脚本如下: G ...
- google calendar api v3
google api for .net nuget Install-Package Google.Apis.Calendar.v3 oauth2 for asp.net http://www.code ...
- css3 简单界面动画
asdasdasdasda asdasdasdasda
- C#正则表达式Regex类
C#正则表达式Regex类的使用 C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类.这个包包含于System.Text.RegularExpressions命名空间下面,而这个命名空间 ...
- C#中结构体与字节流互相转换
1.定义与C++对应的C#结构体 在c#中的结构体不能定义指针,不能定义字符数组,只能在里面定义字符数组的引用. C++的消息结构体如下: //消息格式 4+16+4+4= 28个字节 struct ...
- 【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)
首先我们来看一道题 BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd( ...
- vi查找替换
:n,$s/value1/value2/g 从第n行到最后一行,将value1替换成value2