GreenDao的簡單使用說明(二)單表的增,刪,改,查
來自: http://blog.csdn.net//chenguang79/article/details/50441343
通過上一篇文章,我們已經把GreenDao框架架起來了,而且三個基礎操作類和Users的用戶類也建立起來了,哪么下面我們就來實現一下,對于這個單表的增,刪,改,查功能.
這里說明一下,因為是做一個簡單的例子,所以這里我對數據庫的操作,沒有做異步處理.
第一步,我們要先來寫一個類BaseApplication.java,此類是用來取得GreenDao中的DaoMaster和DaoSession的,先看代碼.
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
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的代碼:
<?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
<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文件
<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.主要就是添加了一個添加的按鈕
<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
<?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
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
<?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
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
<?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
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
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(),"修改");
}
}
} 運行效果圖:

本文由用戶 leewinq 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!