public class DisplayAdapter extends BaseAdapter {
Context mContext;
ArrayList<String> id;
ArrayList<String> firstName;
ArrayList<String> lastName;
public DisplayAdapter(Context c, ArrayList<String> id, ArrayList<String> fname, ArrayList<String> lname) {
this.mContext = c;
this.id = id;
this.lastName = lname;
this.firstName = fname;}
public int getCount() {
// TODO Auto-generated method stub
return id.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;}
public View getView(int pos, View child, ViewGroup parent) {
Holder mHolder;
LayoutInflater layoutInflater;
if (child == null) {
layoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
child = layoutInflater.inflate(R.layout.text_layout, null);
mHolder = new Holder();
mHolder.txt_id = (TextView) child.findViewById(R.id.text2);
mHolder.txt_fName = (TextView) child.findViewById(R.id.text3);
mHolder.txt_lName = (TextView) child.findViewById(R.id.text4);
child.setTag(mHolder);
} else {mHolder = (Holder) child.getTag();
}
mHolder.txt_id.setText(id.get(pos));
mHolder.txt_fName.setText(firstName.get(pos));
mHolder.txt_lName.setText(lastName.get(pos));
return child;}
public class Holder {
TextView txt_id;
TextView txt_fName;
TextView txt_lName;}
}
public Integer deleteLaundry(String id)
{ SQLiteDatabase db = this.getWritableDatabase();
Integer deleteSuccessful;
deleteSuccessful = db.delete(TABLE_NAME1, LAUNDRYCOL_1+"=" + id + "",null);
db.close();
return deleteSuccessful;
}`public class Tab1_Admin extends Fragment {
static Mydatabase md;
private ArrayList<String> userId = new ArrayList<String>();
private ArrayList<String> user_fName = new ArrayList<String>();
private ArrayList<String> user_lName = new ArrayList<String>();
List selection = new ArrayList();
ListView lv;
DisplayAdapter disadpt;
SQLiteDatabase db1;
int cnt;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.admin_frag_lay, container, false);
md = new Mydatabase(getActivity());
lv = (ListView) v.findViewById(R.id.list2);
md = new Mydatabase(getActivity());
show();
return v;
}
public void show() {
Cursor cur = AdminFragment.md.viewLaundry();
if (cur.getCount() == -1) {
Toast.makeText(getActivity(), "cursor is empty", Toast.LENGTH_SHORT).show();
} else
try {
userId.clear();
user_fName.clear();
user_lName.clear();
while (cur.moveToNext()) {
userId.add("NAME :-" + cur.getString(0) + "\n");
user_fName.add("CONTACT :- " + cur.getString(1) + "\n");
user_lName.add("ADDRESS:- " + cur.getString(2) + "\n");
}
disadpt = new DisplayAdapter(getActivity(), userId, user_fName, user_lName);
lv.setAdapter(disadpt);
} catch (Exception e) {
e.printStackTrace();
}
lv.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE_MODAL);
lv.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode mode, final int position, long arg2, boolean checked) {
if (checked) {
selection.add(userId.get(position));
selection.add(user_fName.get(position));
selection.add(user_lName.get(position));
obj = selection.get(position);
cnt++;
mode.setTitle(cnt + "selected");
} else {
selection.remove(userId.get(position));
selection.remove(user_fName.get(position));
selection.remove(user_lName.get(position));
cnt--;
mode.setTitle(cnt + "selected");}
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.menu_two, menu);
return true;}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
if (item.getItemId() == R.id.del) {
try {
Integer deleteSuccessful = new Mydatabase(getActivity()).deleteLaundry(Mydatabase.LAUNDRYCOL_1);
if (deleteSuccessful == 1) {
Toast.makeText(getActivity(), "record was deleted.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "delete student record.", Toast.LENGTH_SHORT).show();
}
for (Object Item : selection) {
String value = Item.toString();
userId.remove(value);
user_fName.remove(value);
user_lName.remove(value);
}
disadpt.notifyDataSetChanged();
mode.finish();
} catch (Exception e) {
Log.e("Error", "" + e);
}
}
return true;}
@Override
public void onDestroyActionMode(ActionMode mode) {
cnt = 0;
selection.clear();
}
答案 0 :(得分:0)
以下是删除单行记录的示例示例
public ArrayList<PostModel> deletePost(int postId) {
ArrayList<PostModel> postList = new ArrayList<PostModel>();
String selectQuery = "Delete from " + TABLE_POST + " Where " + KEY_ID
+ "=" + postId;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) {
do {
// PostModel mPostModel = new PostModel();
// mPostModel.setPost_desc(cursor.getString(cursor
// .getColumnIndex(POST_TEXT)));
// mPostModel.setPost_date(cursor.getString(cursor
// .getColumnIndex(DATE)));
// mPostModel.setPost_location(cursor.getString(cursor
// .getColumnIndex(LOCATION)));
// mPostModel.setPost_city(cursor.getString(cursor
// .getColumnIndex(POST_CITY)));
// mPostModel.setPost_img(cursor.getBlob(cursor
// .getColumnIndex(POST_IMAGE)));
// postList.add(mPostModel);
} while (cursor.moveToNext());
}
return postList;
}
这是WHERE子句的简单示例,希望它对您有帮助。
答案 1 :(得分:0)
您是以MydataBasse.java
编写的
deleteSuccessful = db.delete(TABLE_NAME1, LAUNDRYCOL_1+"=" + id + "",null);
使用
在Tab1_Admin
片段中删除
Integer deleteSuccessful = new Mydatabase(getActivity()).deleteLaundry(Mydatabase.LAUNDRYCOL_1);
最终查询变为
LAUNDRYCOL_1+"="+LAUNDRYCOL_1;
结果总是true
。
这就是背后的原因。
编辑:
使用默认ID创建表,该表是自动增量,如下面的
db.execSQL("create table " + TABLE_NAME1 + "(_id INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,CONTACT TEXT,ADDRESS TEXT)");
与该ID进行比较。