How to set intent for childnode in expandablelist view

Put your problem here if it does not fit any of the other categories.

How to set intent for childnode in expandablelist view

Postby Sathiavathi » Wed Apr 20, 2011 7:33 am

hi ,
i am new to android :) .. plz anyone help me..
i am having the following code for expandable list view. In that if i click the child node that need to go another class. how to set intent for child list which is stored in array.. :cry:
please help me..
Thanks in advance..!

//import android.content.Intent;
//import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AbsListView;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ExpandableListView.ExpandableListContextMenuInfo;
//import com.log.R;

public class Modules extends ExpandableListActivity {

ExpandableListAdapter mAdapter;

public void onCreate(Bundle savedInstanceState) {
mAdapter = new MyExpandableListAdapter();

// menu.add(0, 0, 0, R.string.expandable_list_sample_action);
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Sample menu");

public boolean onContextItemSelected(MenuItem item) {
ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) item.getMenuInfo();

String title = ((TextView) info.targetView).getText().toString();

int type = ExpandableListView.getPackedPositionType(info.packedPosition);
if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
int groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition);
int childPos = ExpandableListView.getPackedPositionChild(info.packedPosition);
Toast.makeText(this, title + ": Child " + childPos + " clicked in group " + groupPos,

return true;
} else if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
int groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition);
Toast.makeText(this, title + ": Group " + groupPos + " clicked", Toast.LENGTH_SHORT).show();
return true;

return false;
public class MyExpandableListAdapter extends BaseExpandableListAdapter {
// Sample data set. children[i] contains the children (String[]) for groups[i].
private String[] groups = { "Administration", "MasterDataManageMent", "Inventory Management", "Sales","Banking","Alert Management" };
private String[][] children = {
{ "Select Beat", "Change Company", "Select Customers", "Test Printing","Sync manager","Run ActiveSync","Password Change" },
{ "Item Master Data", "Business Partner Master Data", "Item Price List"},
{ "Inventory Transfer"},
{ "A/R Invoice", "Sales order","Sales Return" },
{"Collection"," Denomination"},
{"My Alerts"}

public Object getChild(int groupPosition, int childPosition) {
return children[groupPosition][childPosition];

public long getChildId(int groupPosition, int childPosition) {
return childPosition;

public int getChildrenCount(int groupPosition) {
return children[groupPosition].length;

public TextView getGenericView() {
// Layout parameters for the ExpandableListView
AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, 64);

TextView textView = new TextView(Modules.this);
// Center the text vertically
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
// Set the text starting position
textView.setPadding(36, 0, 0, 0);
return textView;

public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
View convertView, ViewGroup parent) {
TextView textView = getGenericView();
textView.setText(getChild(groupPosition, childPosition).toString());
return textView;

public Object getGroup(int groupPosition) {
return groups[groupPosition];

public int getGroupCount() {
return groups.length;

public long getGroupId(int groupPosition) {
return groupPosition;

public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
ViewGroup parent) {
TextView textView = getGenericView();
return textView;

public boolean isChildSelectable(int groupPosition, int childPosition) {

return true;

public boolean hasStableIds() {
return true;


Once Poster
Once Poster
Posts: 1
Joined: Wed Apr 20, 2011 7:08 am


Return to Other Coding-Problems

Who is online

Users browsing this forum: No registered users and 10 guests