نمایش نتایج 1 تا 5 از 5

نام تاپیک: سوال: تازه سازی لیست ویو، بعد از ویرایش اطلاعات دیتابیس

  1. #1

    سوال: تازه سازی لیست ویو، بعد از ویرایش اطلاعات دیتابیس

    سلام؛
    من برای بروزرسانی لیست ویو دارای Adapter مشکل دارم و نمی تونم بعد از حذف یا ویرایش یک آیتم، اون رو بروزرسانی کنم.
    متد حذف اطلاعات در اداپتر:

    holder.delete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    DBConteroler dbConteroler = new DBConteroler(context);
    boolean X = dbConteroler.DeleteBox(individualCar.getPostID());
    if (X) {

    } else {
    Toast.makeText(context, "Error", Toast.LENGTH_SHORT).show();
    }
    }
    });



    من برای بروزرسانی از این روش استفاده کرده بودم که بعد از حذف/ویرایش یک آیتم مجددا این متد رو در اکتیویتی مورد نظر فراخوانی می کردم:



    public void CreateList() {


    ArrayList<Box> boxes = db.getBoxs();
    Collections.reverse(boxes);
    Adaptorz adaptorz = new Adaptorz(MainActivity.this, R.layout.flod_list, boxes);
    adaptorz.notifyDataSetChanged();
    LinearLayout ll = (LinearLayout) findViewById(R.id.llMain);
    Button btnAdd = (Button) findViewById(R.id.btnAdd);
    listView.destroyDrawingCache();
    listView.setVisibility(ListView.INVISIBLE);
    listView.setVisibility(ListView.VISIBLE);
    listView.setAdapter(adaptorz);

    }



    و این هم خطا:


    --------- beginning of crash
    E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ir.radin.posto.posto, PID: 13239
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.ArrayList ir.sto.sto.DBConteroler.getBoxs()' on a null object reference
    at ir.sto.sto.MainActivity.CreateList(MainActivity.ja va:69)
    at ir.sto.sto.Adaptorz$2.onClick(Adaptorz.java:155)
    at android.view.View.performClick(View.java:5685)
    at android.view.View$PerformClick.run(View.java:22481 )
    at android.os.Handler.handleCallback(Handler.java:751 )
    at android.os.Handler.dispatchMessage(Handler.java:95 )
    at android.os.Looper.loop(Looper.java:241)
    at android.app.ActivityThread.main(ActivityThread.jav a:6274)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:886)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:776)


    البته، فکر می کنم راه من اصولی نیست، بنابراین اگر راه اصولی رو برای بروزرسانی لیست مطرح کنید، متشکرم می شوم.

  2. #2

    نقل قول: سوال: تازه سازی لیست ویو، بعد از ویرایش اطلاعات دیتابیس

    ArrayList<Box> boxes = db.getBoxs();
    این خطا داره میگه این شی db مقداردهی نشده Null هست این شی اگر تعریف سراسری داره که وقتی تو این متد می خواهید استفاده کنید باید قبلش مقدار داشته باشه که ظاهرا مقداری نداره.!

  3. #3

    نقل قول: سوال: تازه سازی لیست ویو، بعد از ویرایش اطلاعات دیتابیس

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    این خطا داره میگه این شی db مقداردهی نشده Null هست این شی اگر تعریف سراسری داره که وقتی تو این متد می خواهید استفاده کنید باید قبلش مقدار داشته باشه که ظاهرا مقداری نداره.!
    سلام؛
    آره، البته این مشکل نباید اختلالی ایجاد می کرد فکر کنم. ولی به هر حال کارها رو بجای اینکه در اکتیویتی انجام بدم، بردم داخل خود Adapter. اونجا همه آبجکت ها هستند و خوشبختانه هیچ کدام نال هم نیستند.


    DBConteroler dbConteroler = new DBConteroler(context);
    boolean X = dbConteroler.DeleteBox(individualCar.getPostID());
    if (X) {
    box.remove(position);
    Adaptorz.this.notifyDataSetChanged();
    Adaptorz.this.notifyDataSetInvalidated();

    } else {
    Toast.makeText(context, "در حذف بسته خطایی پیش آمده است.", Toast.LENGTH_SHORT).show();
    }


  4. #4

    نقل قول: سوال: تازه سازی لیست ویو، بعد از ویرایش اطلاعات دیتابیس

    آره، البته این مشکل نباید اختلالی ایجاد می کرد فکر کنم
    دقیقا درست میگی !!!
    کلا این helper آداپتر های اندروید روی اعصاب هستند یعنی فکر کن یک لیست می خواهی نشون بدی باید یک اکتیویتی یک آداپتر کلاس یک فایل xml بنویسی بعد این هارو هی وصله پینه کنی بهم من که حالم بد میشه!!
    البته مثلا RX-JAVA یه کارهایی کرده که این وضعیت تو اندروید بهتر بشه!
    ولی وقتی می تونی با نهایت 10 تا خط یک لیست ویو بنویسی تو Qt ویا ReactJS یکم عذاب آور بمونی تو اندروید ولی خوب اندروید راحته ... چون قواعدش ضعیفه!

  5. #5

    نقل قول: سوال: تازه سازی لیست ویو، بعد از ویرایش اطلاعات دیتابیس

    یه نگاهی به Android Architecture Components داشته باشید، کارتون رو تمیزتر و راحت‌تر میکنه.

تاپیک های مشابه

  1. سوال: ارور در ذخیره عکس بعد از ویرایش اطلاعات در اس کیول
    نوشته شده توسط hosseines در بخش C#‎‎
    پاسخ: 0
    آخرین پست: شنبه 04 بهمن 1393, 11:15 صبح
  2. پاسخ: 27
    آخرین پست: پنج شنبه 26 مرداد 1391, 15:32 عصر
  3. تغییر رنگ بعد از ویرایش و bold شدن ان
    نوشته شده توسط sogoli در بخش PHP
    پاسخ: 1
    آخرین پست: سه شنبه 08 اردیبهشت 1388, 21:14 عصر
  4. refresh اطلاعات Gridview بعد از ویرایش
    نوشته شده توسط javad3151 در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: دوشنبه 12 شهریور 1386, 09:49 صبح
  5. پاسخ: 6
    آخرین پست: سه شنبه 20 تیر 1385, 13:25 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •