رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پر کردن ExpandableListView با استفاده از دیتا بیس


پست های پیشنهاد شده

با سلام

من توی پروژم یک ExpandableListView دارم و یه دیتابیس توی دیتابیس با استفاده از کد والد ، والد هرکدوم از فرزندان مشخص میشه. مسله اینه که کاربر امکان اضافه کردن والد و فرزند رو توی دیتابیس داره من هرکاری میکنم درست لود نمیشه اگه ممکنه راهنمایی کنین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کد کلاس هاتون رو بزارید

در 12 ساعت قبل، fahmide گفته است :

با سلام

من توی پروژم یک ExpandableListView دارم و یه دیتابیس توی دیتابیس با استفاده از کد والد ، والد هرکدوم از فرزندان مشخص میشه. مسله اینه که کاربر امکان اضافه کردن والد و فرزند رو توی دیتابیس داره من هرکاری میکنم درست لود نمیشه اگه ممکنه راهنمایی کنین

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مدل 

    public Map<String, List<String>> getmap() {

        List<String> group = new ArrayList<>();//group name
        List<String> groupid = new ArrayList<>();//group id
        group = getGruop();
        Map<String, List<String>> groupMap;
        groupMap = new HashMap<String, List<String>>();


        groupid = getGruopid();
        String gname = "", getchild = "";
        db = this.getReadableDatabase();
        for (String gid : groupid) {
            getchild = "SELECT name FROM group_tab WHERE state =1 AND child =1 AND parentID=" + gid + " ";
            Cursor groupname = this.db.rawQuery("SELECT name FROM group_tab WHERE id =" + gid + " ", null);
            while (groupname.moveToNext()) {
                gname = groupname.getString(0);
            }
			List<String> childlist = new ArrayList<>();
            Cursor x = db.rawQuery(getchild, null);
            while (x.moveToNext()) {
                childlist.add(x.getString(0));
            }

            groupMap.put(gname, childlist);// The name of the group and its child
        }
        return groupMap;
    }

و قسمت adapter

public class MyELVAdapter extends BaseExpandableListAdapter {
    Map<String, List<String>> groupMap;
    List<String> groupNameList;
    LayoutInflater li;

    public MyELVAdapter(Activity context, Map<String, List<String>> _groupMap, List<String> _groupNameList) {
        groupMap = _groupMap;
        groupNameList = _groupNameList;
        li = context.getLayoutInflater();
    }


    @Override
    public int getGroupCount() {
        return groupNameList.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        String groupName = groupNameList.get(groupPosition);
        return groupMap.get(groupName).size();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return groupNameList.get(groupPosition);
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        String groupName = groupNameList.get(groupPosition);
        return groupMap.get(groupName).get(childPosition);
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public long getChildId(int groupPostition, int childPosition) {
        return childPosition;
    }

    @Override
    public boolean hasStableIds() {
        return true;
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View v, ViewGroup parent) {
        if (v == null) {
            v = li.inflate(R.layout.group_list_item, parent, false);
        }
        TextView tv = (TextView) v.findViewById(R.id.grouplist);
        String groupName = (String) getGroup(groupPosition);
        tv.setText(groupName);

        return v;
    }

    @Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View v, ViewGroup parent) {
        if (v == null) {
            v = li.inflate(R.layout.child_list_item, parent, false);
        }
        TextView tv = (TextView) v.findViewById(R.id.grouplist);
        String child = (String) getChild(groupPosition, childPosition);
        tv.setText(child);

        return v;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }
}

خیلی ممنونم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط parsdc
      سلام به همه دوستان
      زمانی که سرچ میکنیم در دیتابیس sqlite در لیست نام فارسی، متاسفانه حروف گ چ پ ژ ک بدون ترتیب حروف برمیگردونه، در این مورد تحقیق ها و تست های زیادی کردم، و متوجه شدم کد اسکی این حروف از نظر عددی  نظم ترتیبی ندارد
      لیست حروف فارسی با کد اسکی رو ببینید
      192    ہ
      193    ء
      194    آ
      195    أ
      196    ؤ
      197    إ
      198    ئ
      199    ا
      200    ب
      201    ة
      202    ت
      203    ث
      204    ج
      205    ح
      206    خ
      207    د
      208    ذ
      209    ر
      210    ز
      211    س
      212    ش
      213    ص
      214    ض
      215    ×
      216    ط
      217    ظ
      218    ع
      219    غ
      220    ـ
      221    ف
      222    ق
      223    ك
      224    à
      225    ل
      226    â
      227    م
      228    ن
      229    ه
      230    و
       
      236    ى
      237    ي
       
      129    پ
      141    چ
      142    ژ
      152    ک
      144    گ

      حرف ک عربی 223 هست در جای خودش هست اما ک فارسی 152 هست از عدد حرف آ هم کمتر هست و در سرچ بالاتر از آ قرار میگیره
      سایر حروف مشکل دار هم به همین شکل پ چ ژ ک گ
      کد های utf8 هم بررسی کردم و این مشکل رو داره، واقعا نمیدونم ماکروسافت چیکار کرده که در دیتابیس های اون این مشکل وجود نداره، شما راه حلی اصولی براش نمیشناسید؟
    • توسط Javad Mahmoodi
      سلام
      من میخوام تمام اطلاعات ذخیره شده در برنامه ام را که در sqlite هست رو با زدن دکمه ارسال و بصورت یکجا به دیتابیس sql server ارسال کنم.
      کانکشن رو بین برنامم و sql server  که توسط کتابخانه jdbc هست ایجاد کردم.
      الان مشکلم این هست که چجوری تمام اطلاعات رو مستقیم و فقط با زدن دکمه ارسال به sql server ارسال کنم.
      ممنون میشم راهنمایی فرمایید(ترجیحاً با کد)
    • توسط Seyed-Hossein-Akbari
      برای استفاده از کتابخانه ی ExpandableCardView   وارد سایت زیر در گیت شوید .
      https://github.com/shakbari435/ExpandableCardView
       
      التماس دعای فرج یا علی
       
    • توسط jonoob
      سلام به همگی
      من دو تیبل دارم به نامهای
       id+start+end=data1
      id+id data1+name+price=data2
      در بالا نام تیبل و فیلدها را نوشتم
      همینطور که در فیلدها میبینید در تیبل دو ای دی تیبل یک هم نوشته شده میخواهم وقتی مثلا ایدی یک تیبل یک فراخوانی بشه اطلاعاتی که در تیبل دو هست و ای دی دیتاش یکی هست هم نمایش داده بشه
      متشکرم
    • توسط مهندس
      سلام دوستان.
      چجوری میتونم ساعت رو در دیتابیس sqlite ذخیره کنم؟؟
      منظورم اینه ک من یکسری داده دارم میخام وقتی ثبت دیتابیس شد، ساعتی ک کاربر داده رو ثبت میکنه هم در یک فیلد ثبت بشه.
      من یه فیلد با نوع TIME در دیتابیس گذاشتم، اما نمیدونم چجوری و با چه توابعی ساعت رو ذخیره کنم؟؟
      در ضمن راهی هست ک ساعت واقعی ثبت بشه؟؟
      یعنی اینکه اگه یه وقت کاربر ساعت گوشیشو تغییر داد، بازم تایم واقعی time zone ایران ثبت بشه ؟؟؟
  • فایل

×
×
  • اضافه کردن...