loeim

لیست ویو کشویی

4 ارسال در این موضوع قرار دارد

با سلام دوستان من می خوام لیست ویو به شکل زیر بسازم که اطلاعاتم را از دیتابیس و جدول category می خونم

دسته 1

--- زیر دسته 11

--- زیر دسته 12

دسته2

دسته3

--- زیر دسته31

--- زیر دسته 32

 

جدولم دارای فیلدهای id,name,parent_id هستش که درون parent_id شماره id دسته والد مشخض می شود و می خوام هر دسته که دارای parent_id باشد بره و زیر دسته والد خود قرار بگیرد

 

من کدهای زیر را برای نمایش دسته بندی نوشتم مشکلی ندارد فقط موندم چطور زیر مجموعه ها را اضافه کنم

public class Marjaa_Categories_Activity extends ActionBarActivity {
    ListView lv;
    int catID = 0;

    private database db;
    private String[] name;
    private String[] cat_id;
    private String[] parent_id;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_marjaa_categories);


       

        // call cat id
        Bundle ex = getIntent().getExtras();
        catID = Integer.parseInt(ex.getString("catID"));


        // connect to database
        db = new database(this);
        db.useable();

        refresher();

        lv = (ListView) findViewById(R.id.list);
        try {
            lv.setAdapter(new AA());
        } catch (Exception e){
        Toast.makeText(Marjaa_Categories_Activity.this, e.getMessage(), Toast.LENGTH_LONG).show();
        }

        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Intent i = new Intent(Marjaa_Categories_Activity.this, Marjaa_Contents_Activity.class);
                i.putExtra("catID",cat_id[position]);
                startActivity(i);
            }
        });
    }


    class AA extends ArrayAdapter<String> {

        public AA(){
            super(Marjaa_Categories_Activity.this,R.layout.item_list_marjaa_categories,name);

        }
        @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
            LayoutInflater in = getLayoutInflater();
            View row = in.inflate(R.layout.item_list_marjaa_categories, parent, false);
            try {


                TextView txt_name = (TextView) row.findViewById(R.id.txtNameItem);
                final ImageView fav = (ImageView) row.findViewById(R.id.imgItem);

                Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/BKoodakBold.ttf");
                txt_name.setTypeface(tf);


                txt_name.setText(name[position]);


            }catch (Exception e){
                Toast.makeText(Marjaa_Categories_Activity.this, e.getMessage(), Toast.LENGTH_LONG).show();
            }
            return (row);
        }

    }

    private void refresher(){
        try {
            db.open();
            int save = db.categories_field(catID, "name");
            name = new String[save];
            cat_id = new String[save];
            parent_id = new String[save];

            for (int i = 0; i < save; i++) {
                name[i] = db.categories_list(catID, i, 1);
                cat_id[i] = db.categories_list(catID, i, 0);
                parent_id[i] = db.categories_list(catID, i, 3);
            }
            db.close();
        } catch (Exception e){
            Toast.makeText(Marjaa_Categories_Activity.this, e.getMessage(), Toast.LENGTH_LONG).show();
        }
    }
}

 

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


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

آیا از ExpandableListView استفاده کرده اید برای ساخت لیست ؟

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


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

ارسال شده در (ویرایش شده)

سلام دوستان من با کد زیر می خوام از لیست ویو که هر آیتم در بعضی جاها دارای دو فرزند سه و یا فقط خود آیتم بدون فرزند هست را باز و بسته می کنم
حالا می خوام آیتم نهایی (چه آیتم اصلی یا فرزند باشد ) رو که کلیک می کنم بره صفحه بعد ولی تو این نوع لیست ویوها نمی دونم دقیقاً چطور به این نتیجه برسم

final NLevelAdapter adapter = new NLevelAdapter(list);
            listView.setAdapter(adapter);
            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                        long arg3) {
                    ((NLevelAdapter) listView.getAdapter()).toggle(arg2);
                    ((NLevelAdapter) listView.getAdapter()).getFilter().filter();

                    NLevelItem item = (NLevelItem)adapter.getItem(arg2);
                    String row = ((SomeObject)item.getWrappedObject()).getName();
                    Log.i("DEBUG","Record ID : " + row);

                       /* if () {
                            Intent intent = new Intent(Marjaa_Categories_Activity.this, Marjaa_single_Activity.class);
                            intent.putExtra("catID", catID);
                            intent.putExtra("cat_id", row);
                            startActivity(intent);
                        }*/                }
            });


و اینهم لینک مطلب اصلی 
http://twocentscode.blogspot.com/2014/02/three-level-expandable-listview.html

دوستان لطفا راهنمایی فرمایید
تشکر

ویرایش شده در توسط loeim

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 1396/07/15, 21:31:48، Farzad Sarseifi گفته است :

آیا از ExpandableListView استفاده کرده اید برای ساخت لیست ؟

سلام من دقیقا مشکل ایشون رو دارم و میخوام از دیتابیس ExpandableListView رو پر کنم . اگه میشه راهنمایی کنید ممنون 

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری