لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
ApA

ارور در برنامه نویسی اندروید در قسمت expandable list view

ApA ۱۳۹۵/۰۲/۲۲ 65 برنامه‌نویسی اندروید

باسلام و عرض خسته نباشید

من در رابطه با ExpandableListView یک کدی نوشتم ولی برای یکی از خط های کدم ارور زیر را می دهد :

ListAdapter is abstract; cannot be instantiated

و کدهایم :(قسمتی که ارور دارد را مشخص کردم)

public class MainActivity extends ExpandableListActivity {

    List<String> ChildList;
    Map<String, List<String>> ParentListItems;
    ExpandableListView expandablelistView;

    // Assign Parent list items here.
    List<String> ParentList = new ArrayList<String>();
    { ParentList.add("ANDROID");
        ParentList.add("PHP");
    }

    // Assign children list element using string array.
    String[] AndroidName = { "ANDROID STUDIO","ANDROID EXAMPLES","ANDROID TUTORIALS" };
    String[] PhpName = { "XAMPP","PHPMYADMIN","MYSQL" };
    String[] ByDefalutMessage = {"Items Loading"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ParentListItems = new LinkedHashMap<String, List<String>>();

        for ( String HoldItem : ParentList) {
            if (HoldItem.equals("ANDROID")) {
                loadChild(AndroidName);
            } else if (HoldItem.equals("PHP"))
                loadChild(PhpName);

            else
                loadChild(ByDefalutMessage);

            ParentListItems.put(HoldItem, ChildList);
        }

        expandablelistView = (ExpandableListView) findViewById(R.id.expandableListView1);

//  ************************************************************************

//                              ارور مربوط به این خط است

        final ExpandableListAdapter expListAdapter = new ListAdapter(this, ParentList, ParentListItems);

// *****************************************************************************




            expandablelistView.setAdapter(expListAdapter);

        expandablelistView.setOnChildClickListener(new OnChildClickListener() {

            @Override
            public boolean onChildClick(ExpandableListView parent, View v,
                                        int groupPosition, int childPosition, long id) {
                // TODO Auto-generated method stub

                final String selected = (String) expListAdapter.getChild(
                        groupPosition, childPosition);

                // Switch case to open selected child element activity on child element selection.

                Intent intent;
                switch(selected){
                    case "ANDROID STUDIO":
                        intent = new Intent(MainActivity.this, i_1.class);
                        startActivity(intent);
                        break;

                    case "ANDROID EXAMPLES":
                        intent = new Intent(MainActivity.this, i_1.class);
                        startActivity(intent);
                        break;

                    case "ANDROID TUTORIALS":
                        intent = new Intent(MainActivity.this, i_1.class);
                        startActivity(intent);
                        break;

                    case "XAMPP":
                        intent = new Intent(MainActivity.this, i_1.class);
                        startActivity(intent);
                        break;

                    case "PHPMYADMIN":
                        intent = new Intent(MainActivity.this, i_1.class);
                        startActivity(intent);
                        break;

                    case "MYSQL":
                        intent = new Intent(MainActivity.this, i_1.class);
                        startActivity(intent);
                        break;

                }

                return true;
            }
        });
    }

    private void loadChild(String[] ParentElementsName) {
        ChildList = new ArrayList<String>();
        for (String model : ParentElementsName)
            ChildList.add(model);
    }
}

ممنون می شوم راهنایی ام کنید که چه گونه این ارور را برطرف کنم

پاسخ‌ها به این تاپیک
ApA
ApA
۱۳۹۵/۰۳/۰۷

باسلام و تشکر از سایت سکان آکادمی و stack programer


خیلی ممنونم از راهنمایی هایتان واقعا به دردم خورد.


بازهم تشکر

stack programer
stack programer
۱۳۹۵/۰۳/۰۵

سلام ،خواهش می کنم خوب قسمت  مربوط به کلیک کردن یک متد دارد


  public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Toast.makeText(
getApplicationContext(),
expandableListTitle.get(groupPosition)
+ " -> "
+ expandableListDetail.get(
expandableListTitle.get(groupPosition)).get(
childPosition), Toast.LENGTH_SHORT
).show();
return false;
}

خوب وقتی داخل تصویر گیف انیمیشن ان را می بینی با کلیک روی هر مورد یک تکس نشان می ده تومی تونی اینجا بگی اگه فلان مورد بود یک کار کن اگه اون بود کار دیگه..


                                expandableListTitle.get(groupPosition)).get(
childPosition), Toast.LENGTH_SHORT

این متد چایلد پوزیشن ادرس زیر گرو کلیک شده را پرینت می کته می تونی از این در کیس استفاده کنی

stack programer
stack programer
۱۳۹۵/۰۳/۰۱

سلام به خاطر تاخیر ببخشید تا دیروز خیلی گرفتار بودم.


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


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


http://s7.picofile.com/file/8252384150/sokanerrorexpanlisviewapa14858dsee.png


 


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


http://www.journaldev.com/9942/android-expandablelistview-example-tutorial

ApA
ApA
۱۳۹۵/۰۳/۰۲

باسلام و تشکر از پاسخگوییتان


ببخشید این بحث خیلی طولانی شد فقط یک سوال من دستورهای  case را باید در کجا بنویسم؟


منظورم از case


switch(){
case "sun":
کارهای مربوط به ان
break;
.
.
.
}

بازهم معذرت

در پاسخ به

stack programer
stack programer
۱۳۹۵/۰۲/۲۶

داخل کلاس تعریف کردنه یک جا سوتی دادی ولی نمی دونم کجا باید بیشتر سورس و بخونم...

ApA
ApA
۱۳۹۵/۰۲/۲۸

باسلام و تشکر از پیگیریتان


لطفا در صورتی که به نتیجه رسیدید سورس را برایم بفرستید و یا کدهای جدید را برایم بنویسید.ممنون می شوم .

در پاسخ به

ApA
ApA
۱۳۹۵/۰۲/۲۵

ممنون می شوم راهنمایی ام کنید


باتشکر

stack programer
stack programer
۱۳۹۵/۰۲/۲۳

سلام،پروژه را برام می فرستی اپلود کن ببینمش


داخل اندروید استدیو هست ؟درسته


 

ApA
ApA
۱۳۹۵/۰۲/۲۳

باسلام و تشکر از جواب گویی عایتان


بله داخل اندروید استودیو است.


لینک دانلود پروژم :


http://cdn.persiangig.com/download/XdXZ9G9xGG/Calorie.rar/dl

در پاسخ به

stack programer
stack programer
۱۳۹۵/۰۲/۲۳

سلام ابجکت رو نتونسته نمونه اش بسازه


اینطوری تعریفش کن می گه خیلی خلاصه است...


ExpandableListAdapter listAdapter;
listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);

دوم


اسم کلاس رو عوض کن ببین اور لپ نداشه با متد و اجزای کلاس های دیگه


http://stackoverflow.com/questions/19494572/cannot-instantiate-the-type-expandablelistadapter


http://stackoverflow.com/questions/26695664/expandablelistadapter-is-abstract-cannot-be-instantiated

ApA
ApA
۱۳۹۵/۰۲/۲۳

باسلام مجدد


کارهایی که گفتید رو انجام دادم ولی باز همون رور رو می ده.


جور دیگه ای نیست که بتونم ارور رو برطرفش بکنم؟


ممنون می شوم راهنمایی ام کنید

در پاسخ به