您的位置:首页 > 其它

GreenDao的简单使用说明(二)单表的增,删,改,查

2016-06-30 10:25 525 查看
转载自:http://blog.csdn.net/chenguang79/article/details/50441343

通过上一篇文章,我们已经把GreenDao框架架起来了,而且三个基础操作类和Users的用户类也建立起来了,哪么下面我们就来实现一下,对于这个单表的增,删,改,查功能.

这里说明一下,因为是做一个简单的例子,所以这里我对数据库的操作,没有做异步处理.

第一步,我们要先来写一个类BaseApplication.Java,此类是用来取得GreenDao中的DaoMaster和DaoSession的,先看代码.

[java] view
plain copy

package com.example.cg.greendaolearn.db;

import android.app.Application;

import android.content.Context;

import com.example.cg.greendaolearn.THDevOpenHelper;

import com.guangda.dao.DaoMaster;

import com.guangda.dao.DaoSession;

/**

* 官方推荐将取得DaoMaster对象的方法放到Application层这样避免多次创建生成Session对象。

* Created by cg on 2015/12/29.

*/

public class BaseApplication extends Application {

private static BaseApplication mInstance;

private static DaoMaster daoMaster;

private static DaoSession daoSession;

@Override

public void onCreate() {

super.onCreate();

if(mInstance == null)

mInstance = this;

}

/**

* 取得DaoMaster

*

* @param context 上下文

* @return DaoMaster

*/

public static DaoMaster getDaoMaster(Context context) {

if (daoMaster == null) {

DaoMaster.OpenHelper helper = new THDevOpenHelper(context,"myDb",null);

daoMaster = new DaoMaster(helper.getWritableDatabase());

}

return daoMaster;

}

/**

* 取得DaoSession

*

* @param context 上下文

* @return DaoSession

*/

public static DaoSession getDaoSession(Context context) {

if (daoSession == null) {

if (daoMaster == null) {

daoMaster = getDaoMaster(context);

}

daoSession = daoMaster.newSession();

}

return daoSession;

}

}

通过代码上的注释,我们也知道了,只所以要继承自application,主要就是为了避免多次创建生成Session对象,提高性能.

第二步,建立一个操作类,把增,删,改,查的方法,全写进去.方便调用.代码如下

DbService.java

[java] view
plain copy

package com.example.cg.greendaolearn.db;

import android.content.Context;

import android.text.TextUtils;

import android.util.Log;

import com.guangda.dao.DaoSession;

import com.guangda.dao.UsersDao;

import java.util.List;

import greendao.Users;

/**

* 用户操作类

* Created by cg on 2015/12/29.

*/

public class DbService {

private static final String TAG = DbService.class.getSimpleName();

private static DbService instance;

private static Context appContext;

private DaoSession mDaoSession;

private UsersDao userDao;

private DbService() {

}

/**

* 采用单例模式

* @param context 上下文

* @return dbservice

*/

public static DbService getInstance(Context context) {

if (instance == null) {

instance = new DbService();

if (appContext == null){

appContext = context.getApplicationContext();

}

instance.mDaoSession = BaseApplication.getDaoSession(context);

instance.userDao = instance.mDaoSession.getUsersDao();

}

return instance;

}

/**

* 根据用户id,取出用户信息

* @param id 用户id

* @return 用户信息

*/

public Users loadNote(long id) {

if(!TextUtils.isEmpty(id + "")) {

return userDao.load(id);

}

return null;

}

/**

* 取出所有数据

* @return 所有数据信息

*/

public List<Users> loadAllNote(){

return userDao.loadAll();

}

/**

* 生成按id倒排序的列表

* @return 倒排数据

*/

public List<Users> loadAllNoteByOrder()

{

return userDao.queryBuilder().orderDesc(UsersDao.Properties.Id).list();

}

/**

* 根据查询条件,返回数据列表

* @param where 条件

* @param params 参数

* @return 数据列表

*/

public List<Users> queryNote(String where, String... params){

return userDao.queryRaw(where, params);

}

/**

* 根据用户信息,插件或修改信息

* @param user 用户信息

* @return 插件或修改的用户id

*/

public long saveNote(Users user){

return userDao.insertOrReplace(user);

}

/**

* 批量插入或修改用户信息

* @param list 用户信息列表

*/

public void saveNoteLists(final List<Users> list){

if(list == null || list.isEmpty()){

return;

}

userDao.getSession().runInTx(new Runnable() {

@Override

public void run() {

for(int i=0; i<list.size(); i++){

Users user = list.get(i);

userDao.insertOrReplace(user);

}

}

});

}

/**

* 删除所有数据

*/

public void deleteAllNote(){

userDao.deleteAll();

}

/**

* 根据id,删除数据

* @param id 用户id

*/

public void deleteNote(long id){

userDao.deleteByKey(id);

Log.i(TAG, "delete");

}

/**

* 根据用户类,删除信息

* @param user 用户信息类

*/

public void deleteNote(Users user){

userDao.delete(user);

}

}

这个类就不多说了,大家一看就明白,很简单,而且里面也已经比较明确的给出了注解.

第三步,设置布局文件

1,Toolbar的代码:

[java] view
plain copy

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="?attr/colorPrimary"

android:minHeight="?attr/actionBarSize"

app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

app:theme="@style/ThemeOverlay.AppCompat.ActionBar">

</android.support.v7.widget.Toolbar>

当然了,你要是想使用toolbar,还要为其设置样式,style.xml

[java] view
plain copy

<resources>

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">

<!-- toolbar(actionbar)颜色 -->

<item name="colorPrimary">#4876FF</item>

<!-- 状态栏颜色 -->

<item name="colorPrimaryDark">#3A5FCD</item>

<!--toolbar文字的颜色-->

<item name="@android:textColorPrimary">@android:color/white</item>

<!-- 窗口的背景颜色 -->

<item name="android:windowBackground">@android:color/white</item>

<!-- SearchView -->

<item name="searchViewStyle">@style/MySearchViewStyle</item>

<item name="actionMenuTextColor">#ffffff</item>

</style>

<style name="AppTheme" parent="@style/AppBaseTheme">

<item name="android:windowIsTranslucent">true</item>

</style>

<style name="MySearchViewStyle" parent="Widget.AppCompat.SearchView"></style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">

<item name="spinBars">true</item>

<item name="color">@android:color/white</item>

</style>

</resources>

现在来看一下页面主布局,这个布局其实很简单,就是一个Toolbar,Toolbar上菜单有一个添加的按钮,而且下面是一个listView用来显示用户,点击添加按钮,弹出一个对话框,显示你要添加的项,填写完后,保存,新加的数据就会在listView中显示出来.点击列表项,会弹出对框,上面有删除与修改的选项,可以对此项进行删除与修改,

好,先来看一下activity_one_table.xml文件

[html] view
plain copy

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.cg.greendaolearn.oneTableActivity"

android:orientation="vertical">

<include

layout="@layout/toolbar" />

<ListView

android:id="@+id/lv_oneTable"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1" />

</LinearLayout>

接下来,看一下,toolbar菜单栏的布局文件,menu_one_table.xml.主要就是添加了一个添加的按钮

[html] view
plain copy

<menu xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

tools:context="com.example.cg.greendaolearn.oneTableActivity">

<item android:id="@+id/menu_onetable_add"

android:title="添加"

app:showAsAction="never" />

</menu>

下面是listView列表显示,哪么我们先为这个列表设置一个item的布局.代码比较简单:'

activity_onetable_lv_item.xml

[html] view
plain copy

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@color/coral">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content">

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="姓名:"

android:textColor="@color/white"

android:padding="5dp"/>

<TextView

android:id="@+id/txt_onetable_uName"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/white"

android:padding="5dp"/>

</LinearLayout>

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="性别:"

android:textColor="@color/white"

android:padding="5dp"/>

<TextView

android:id="@+id/txt_onetable_uSex"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/white"

android:padding="5dp"/>

</LinearLayout>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="5dp">

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="年纪:"

android:textColor="@color/white"

android:padding="5dp"/>

<TextView

android:id="@+id/txt_onetable_age"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/white"

android:padding="5dp"/>

</LinearLayout>

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="电话:"

android:textColor="@color/white"

android:padding="5dp"/>

<TextView

android:id="@+id/txt_onetable_tel"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/white"

android:padding="5dp"/>

</LinearLayout>

</LinearLayout>

</LinearLayout>

为再为它设计一个Adapter

onetable_adapter.java

[java] view
plain copy

package com.example.cg.greendaolearn.adpater;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

import com.example.cg.greendaolearn.R;

import java.util.List;

import greendao.Users;

/**

* 用户信息显示Adapter

* Created by cg on 2015/12/29.

*/

public class onetable_adapter extends BaseAdapter {

private LayoutInflater inflater;

private List<Users> list_user;

public onetable_adapter(Context context,List<Users> list_user) {

this.inflater = LayoutInflater.from(context);

this.list_user = list_user;

}

@Override

public int getCount() {

return list_user.size();

}

@Override

public Object getItem(int position) {

return list_user.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

userInfo uInfo;

if(convertView==null)

{

uInfo = new userInfo();

convertView = inflater.inflate(R.layout.activity_onetable_lv_item,null);

uInfo.uAge = (TextView)convertView.findViewById(R.id.txt_onetable_age);

uInfo.uName = (TextView)convertView.findViewById(R.id.txt_onetable_uName);

uInfo.uSex = (TextView)convertView.findViewById(R.id.txt_onetable_uSex);

uInfo.uTel = (TextView)convertView.findViewById(R.id.txt_onetable_tel);

convertView.setTag(uInfo);

}else

{

uInfo = (userInfo)convertView.getTag();

}

uInfo.uSex.setText(list_user.get(position).getUSex());

uInfo.uTel.setText(list_user.get(position).getUTelphone());

uInfo.uName.setText(list_user.get(position).getUName());

uInfo.uAge.setText(list_user.get(position).getUAge());

return convertView;

}

public class userInfo

{

TextView uName;

TextView uSex;

TextView uAge;

TextView uTel;

}

}

listVIew搞定了.我们来完成点击添加时,弹出的对话框,这里采用的DialogFragment

先看布局文件fragment_onetable_dialog.xml

[html] view
plain copy

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content">

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="姓名:"/>

<EditText

android:id="@+id/edit_onetable_name"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/black"/>

</LinearLayout>

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="性别:"/>

<EditText

android:id="@+id/edit_onetable_sex"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/black"/>

</LinearLayout>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content">

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="电话:"/>

<EditText

android:id="@+id/edit_onetable_tel"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/black"/>

</LinearLayout>

<LinearLayout

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

>

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center"

android:text="年纪:"/>

<EditText

android:id="@+id/edit_onetable_age"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textColor="@color/black"/>

</LinearLayout>

</LinearLayout>

</LinearLayout>

</LinearLayout>

代码:oneTableDialogFragment.java

[java] view
plain copy

package com.example.cg.greendaolearn;

import android.app.AlertDialog;

import android.app.Dialog;

import android.app.DialogFragment;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.widget.EditText;

/**

* 用户添加与修改

* Created by cg on 2015/12/30.

*/

public class oneTableDialogFragment extends DialogFragment {

private EditText edit_onetable_name;

private EditText edit_onetable_sex;

private EditText edit_onetable_tel;

private EditText edit_onetable_age;

private String uName; //用户姓名

private String uSex; //用户性别

private String uAge; //用户年纪

private String uTel; //用户电话

private int flag; //flag 标识 0:添加 1:修改

private long uId; //用户id,添加时为0,修改时为正确的id

/**

* 定义点击事件接口

*/

public interface addUserOnClickListener

{

void onAddUserOnClick(long id,String uName, String uSex,String uAge,String uTel,int flag);

}

public oneTableDialogFragment(long uId,String uName, String uSex, String uAge, String uTel,int flag) {

this.uName = uName;

this.uSex = uSex;

this.uAge = uAge;

this.uTel = uTel;

this.flag = flag;

this.uId = uId;

}

@Override

public Dialog onCreateDialog(Bundle savedInstanceState)

{

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

// Get the layout inflater

LayoutInflater inflater = getActivity().getLayoutInflater();

View view = inflater.inflate(R.layout.fragment_onetable_dialog, null);

edit_onetable_name = (EditText) view.findViewById(R.id.edit_onetable_name);

edit_onetable_sex = (EditText) view.findViewById(R.id.edit_onetable_sex);

edit_onetable_tel = (EditText) view.findViewById(R.id.edit_onetable_tel);

edit_onetable_age = (EditText)view.findViewById(R.id.edit_onetable_age);

edit_onetable_name.setText(uName);

edit_onetable_age.setText(uAge);

edit_onetable_sex.setText(uSex);

edit_onetable_tel.setText(uTel);

// Inflate and set the layout for the dialog

// Pass null as the parent view because its going in the dialog layout

builder.setView(view)

// Add action buttons

.setTitle("添加用户")

.setPositiveButton("添加",

new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int id)

{

addUserOnClickListener listener = (addUserOnClickListener) getActivity();

listener.onAddUserOnClick(uId,edit_onetable_name.getText().toString(),

edit_onetable_sex.getText().toString(),

edit_onetable_age.getText().toString(),

edit_onetable_tel.getText().toString(),

flag);

}

}).setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

edit_onetable_name.setText("");

edit_onetable_sex.setText("");

edit_onetable_age.setText("");

edit_onetable_tel.setText("");

}

});

return builder.create();

}

}

这里就不多说了,一是代码比较简单,二是里面的注释也比较清楚,大家一眼就明白了.

下面就是对点击item项的时候,弹出的对框进行设计,先看布局,就两个textView

fragment_onetable_itemdialog.xml

[html] view
plain copy

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<TextView

android:id="@+id/txt_onetable_update"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="修改"

android:padding="10dp"

android:gravity="center"/>

<View

android:layout_width="match_parent"

android:layout_height="1dp"

android:background="@color/gray"/>

<TextView

android:id="@+id/txt_onetable_delete"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="删除"

android:padding="10dp"

android:gravity="center"/>

</LinearLayout>

代码:oneTableItemDialogFragment.java

[java] view
plain copy

package com.example.cg.greendaolearn;

import android.app.DialogFragment;

import android.os.Bundle;

import android.support.annotation.Nullable;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.view.Window;

import android.widget.TextView;

/**

* Created by cg on 2015/12/30.

*/

public class oneTableItemDialogFragment extends DialogFragment {

private long id; //用户id

private int postion; //list中的编号

private TextView txt_onetable_update;

private TextView txt_onetable_delete;

public interface EditUserOnClickListener

{

//flag标识,0表示删除,1表示修改

void onEditUserOnClick(long id,int postion,int flag);

}

public oneTableItemDialogFragment(long id,int postion) {

this.id = id;

this.postion = postion;

}

@Nullable

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);

View view = inflater.inflate(R.layout.fragment_onetable_itemdialog,container);

return view;

}

@Override

public void onViewCreated(View view, Bundle savedInstanceState) {

super.onViewCreated(view, savedInstanceState);

txt_onetable_update = (TextView)view.findViewById(R.id.txt_onetable_update);

txt_onetable_update.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

EditUserOnClickListener listener = (EditUserOnClickListener) getActivity();

listener.onEditUserOnClick(id,postion,1);

}

});

txt_onetable_delete = (TextView)view.findViewById(R.id.txt_onetable_delete);

txt_onetable_delete.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

EditUserOnClickListener listener = (EditUserOnClickListener) getActivity();

listener.onEditUserOnClick(id,postion,0);

}

});

}

}

OK了,现在我们来看一下,主程序的代码:oneTableActivity.java

[java] view
plain copy

package com.example.cg.greendaolearn;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.support.v7.widget.Toolbar;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ListView;

import android.widget.Toast;

import com.example.cg.greendaolearn.adpater.onetable_adapter;

import com.example.cg.greendaolearn.db.DbService;

import java.util.ArrayList;

import java.util.List;

import greendao.Users;

public class oneTableActivity extends AppCompatActivity implements oneTableDialogFragment.addUserOnClickListener,oneTableItemDialogFragment.EditUserOnClickListener {

private Toolbar toolbar; //定义toolbar

private ListView lv_oneTable;

private List<Users> list_user;

private onetable_adapter oAdapter;

private DbService db;

private oneTableItemDialogFragment oneItemDialog;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_one_table);

toolbar = (Toolbar)this.findViewById(R.id.toolbar);

toolbar.setTitle("单表操作"); // 标题的文字需在setSupportActionBar之前,不然会无效

setSupportActionBar(toolbar);

db = DbService.getInstance(this);

initControls();

initData();

}

/**

* 初始化数据,刚进入页面时加载

*/

private void initData() {

list_user = new ArrayList<>();

list_user = db.loadAllNoteByOrder();

oAdapter = new onetable_adapter(this,list_user);

lv_oneTable.setAdapter(oAdapter);

}

/**

* 初始化控件

*/

private void initControls() {

lv_oneTable = (ListView)findViewById(R.id.lv_oneTable);

lv_oneTable.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

Toast.makeText(oneTableActivity.this,list_user.get(position).getUName() + "--" +

list_user.get(position).getId(),Toast.LENGTH_SHORT).show();

oneItemDialog = new oneTableItemDialogFragment(list_user.get(position).getId(),position);

oneItemDialog.show(getFragmentManager(),"编辑");

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_one_table, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

//noinspection SimplifiableIfStatement

if (id == R.id.menu_onetable_add) {

oneTableDialogFragment oneDialog = new oneTableDialogFragment(0,"","","","",0);

oneDialog.show(getFragmentManager(),"添加用户");

return true;

}

return super.onOptionsItemSelected(item);

}

@Override

public void onAddUserOnClick(long uId,String uName, String uSex, String uAge, String uTel,int flag) {

Users user = new Users();

if(flag==1) {

user.setId(uId);

}

user.setUSex(uSex);

user.setUTelphone(uTel);

user.setUAge(uAge);

user.setUName(uName);

if(flag==0) {

if (db.saveNote(user) > 0) {

list_user.add(0, user);

oAdapter.notifyDataSetChanged();

}

}else

{

if (db.saveNote(user) > 0) {

int num = 0;

for(Users u:list_user)

{

if(u.getId()==uId)

{

list_user.remove(num);

list_user.add(num,user);

break;

}

num++;

}

oAdapter.notifyDataSetChanged();

}

}

}

@Override

public void onEditUserOnClick(long id,int postion,int flag) {

if(flag==0) {

db.deleteNote(id);

list_user.remove(postion);

oAdapter.notifyDataSetChanged();

oneItemDialog.dismiss();

}else

{

Users updateUser = db.loadNote(id);

oneTableDialogFragment oDialog = new oneTableDialogFragment(updateUser.getId(),updateUser.getUName(),updateUser.getUSex(),

updateUser.getUAge(), updateUser.getUTelphone(),1);

oneItemDialog.dismiss();

oDialog.show(getFragmentManager(),"修改");

}

}

}

运行效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: