PDA

View Full Version : مشکل در حذف یک سطر از لیست



mamali_
شنبه 13 شهریور 1395, 13:20 عصر
سلام دوستان من یک برنامه ای دارم که در ان اطلاعاتی ک در دیتا بیسم ذخیره شده را در لیت ویو برای نمایش میفرستم.
اکنون مشکلم این است ک هرگاه از لیست ویو یک ایتم حذف میکنم میخاهم از دیتا بیس هم حذف شود ولی نمیشه کدهای کلاس های مربوطه به همراه خطایی ک میده در ضمیمه هست لطفا راهنمایی کنید


//حذف از جدول
public void Remove(long id) {

SQLiteDatabase db = this.getWritableDatabase();
db.delete(tbl_data, Id + "=" + id, null);

//db.delete(tbl_data, Id + " =?", new String[]{ String.valueOf(id) });
// String object = String.valueOf(id);
// db.execSQL("DELETE FROM tbl_data WHERE ID='" + object + "'");

}


کدهای داخل اکتیویتی اصلیم:

//dakhele on creat
//برای حذف کردن
lst_data.setOnItemClickListener(new OnItemClickListener() {

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

dbh.getWritableDatabase();
// dbh.Remove(position);
removeItemFromList(position);

}
});



// متدی برای حذف از لیست ویو
protected void removeItemFromList(int position) {
final int deletePosition = position;

AlertDialog.Builder alert = new AlertDialog.Builder(
MainActivity.this);

alert.setTitle("حذف");
alert.setMessage("آیا میخواهید این اعلان حذف شود؟");
alert.setPositiveButton("بله", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {

// در صورت زدن دکمه بله
dbh.Remove(deletePosition);
DataLList.remove(deletePosition);
adapter.notifyDataSetChanged();
//adapter.notifyDataSetInvalidated();
//adapter.notifyDataSetChanged();

}
});
alert.setNegativeButton("لغو", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});

alert.show();

}

//متدی برای استفاده از متد پر کردن لیست ویو
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
DataLList = new ArrayList<HashMap<String, String>>();

FillData();

}


// متد پر کردن لیست ویو
private void FillData()
{
db = dbh.getReadableDatabase();
Cursor cursors = db.rawQuery("select * from " + dbh.tbl_data, null);

String msg;

String datetime;

for (int i = 0; i < cursors.getCount(); i++) {
cursors.moveToNext();
HashMap<String, String> map = new HashMap<String, String>();
msg = cursors.getString(cursors.getColumnIndex("msg"));
datetime = cursors.getString(cursors.getColumnIndex("datetime"));
// list = cursors.getString(cursors.getColumnIndex("list"));
map.put("msg", msg);
map.put("datetime", datetime);

DataLList.add(map);

}
adapter = new mozhgan.Test3.ListAdapter(this, DataLList);
lst_data.setAdapter(adapter);
}


داخل کلاس آداپتور:

dViewById(R.id.list_list);*/

convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

HashMap<String, String> map = list.get(position);
holder.txtFirst.setText(map.get("msg"));
holder.txtSecond.setText(map.get("datetime"));




http://s6.picofile.com/file/8266100250/ScreenShot_20160901112524.jpeg

mamali_
شنبه 13 شهریور 1395, 17:39 عصر
چرا هیچکس کمک نمیکنه؟ :(

hasan_esfahan
یک شنبه 14 شهریور 1395, 03:21 صبح
ببین حاجی کد باید حتما به این شکل بزنی





SQLiteDatabase db = this.getWritableDatabase();
db.delete(tbl_data, Id + "= ? " , new String[]{id});