آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

پیغام خطا در بروزرسانی دیتابیس در لیست ویو

b97bak  11 سال پیش  11 سال پیش
0 0

سلام من در لیست ویو بعد از نمایش خواستم که وقتی هر کدام از چک باکس ها کلیک شد مقدار آن در دیتابیس هم تغییر کنه و این کد رو در  لیست ویو نوشتم ولی از ارسال مقادیر به متد و برگشتش خطا میگیره و کرش میکنه

   public void fill(final ArrayAdapter<StructNote> adapter, final StructNote item, final int position) {
            txt_name.setText(item.name);
            
            checkshow.setChecked(item.checshow);
            checkshow.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View view) {
                    int ks;

                    CheckBox checkBox = (CheckBox) view;
                    handler = new DatabaseHandler();
                    DatabaseHandler db = new DatabaseHandler(null);
                    item.checshow = checkBox.isChecked();
                    
                    if (item.checshow) {
                        ks = 1;
                        handler.Update_today(ks, item.id);
                    }
                   
                }
            });

واین هم تو قسمت آپدیت دیتابیس نوشتم

public class DatabaseHandler { public static SQLiteDatabase database; public static final String DIR_sdcard = Environment.getExternalStorageDirectory().getAbsolutePath(); public static final String DIR_database = DIR_sdcard + "/database_food/"; public static final String Registeration_food = "Registeration_food"; public static final String DATABASE_NAME = "tedatabase_foodst"; public static final int DATABASE_VERSION = 1; public static final String TABLE_CREATE_Registeration_food = "CREATE TABLE IF NOT EXISTS Registeration_food " + "(id_food INTEGER PRIMARY KEY AUTOINCREMENT " + " NOT NULL UNIQUE , name_food TEXT, chkshow_food bool)"; DataBaseHelper dbhelper; Context context; SQLiteDatabase db; public DatabaseHandler(Context ctx) { this.context = ctx; dbhelper = new DataBaseHelper(context); } private static class DataBaseHelper extends SQLiteOpenHelper { public DataBaseHelper(Context ctx) { super(ctx, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(TABLE_CREATE_Registeration_food); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXIST Registeration_food"); onCreate(db); } } public DatabaseHandler open() { db = dbhelper.getWritableDatabase(); return this; } public void close() { dbhelper.close(); } public long Update_today(int chk, int id) { { String s = "id_food =='" + id + "'"; String chkshow_food = "chkshow_food"; //This class is used to store a set of values ContentValues content = new ContentValues(); content.put(chkshow_food, chk); return db.update(Registeration_food, content, s, null); } }

 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .