tags:

views:

574

answers:

1

hi, i want to customize my ExpandableList my issue is i need a button and expandable list on single activity can i achieve that as i have seen all the examples they all extends ExpandableListActivity not the Activity in which i can put all the widgets in one activity Thnx in advance Any help would be appreciated....

A: 

According to the documentation this task should not be too hard.

the first thing that you will have to do is create a new xml file to hold your custom layout. The file should be saved in your res/layout folder and be named something like "my_custom_expandable_list_view_layout.xml", it should look something like this:

 <?xml version="1.0" encoding="UTF-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:orientation="vertical"
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent">

     <ExpandableListView android:id="@id/android:list"
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent"
               android:layout_weight="1"/>

     <Button android:id="@id/my_button_id"
               android:layout_width="fill_parent" 
               android:layout_height="wrap_content"
               android:text="Click Me"/>
 </LinearLayout>

The import part of that layout file is that you include an "ExpandableListView" and give it the id of "android"list".

The next thing that you will need to do is let your activity know that you are using a custom layout by calling setContentView() in your activities onCreate(). The call should look something like this

setContentView(R.layout.my_custom_expandable_list_view_layout);

At this point you should be able to run you program and see a large button at the bottom of the screen. In order to do something with this button you will need to access it via a call to findViewById() in your Activity like this

Button myButton = (Button)findViewById(R.id.my_button_id);

Once you have that myButton object you can add a click listener or whatever else you would like to do. You can pretty much add anything else you want by just adding new things to the layout file.

snctln