title: How to make a child node clickable in ExpandableListView in Android
body: <p>i'm using this sample codes   samples\android-8\ApiDemos\src\com\example\android\apis\view\ExpandableList1 . I want to click child node but i cant follow my codes. Do you have any simple solution to handle it?</p>
  
  <p>My codes are below.</p>
  
  <pre><code>public class Option_Hakkimizda_Bir extends ExpandableListActivity {
  
  ExpandableListAdapter mAdapter;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      // Set up our adapter
      mAdapter = new MyExpandableListAdapter();
      setListAdapter(mAdapter);
      registerForContextMenu(getExpandableListView());
  }
  
  @Override
  public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
      menu.setHeaderTitle("Sample menu");
      menu.add(0, 0, 0, R.string.expandable_list_sample_action);
  }
  
  @Override
  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,
                  Toast.LENGTH_SHORT).show();
          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;
  }
  
  /**
   * A simple adapter which maintains an ArrayList of photo resource Ids. 
   * Each photo is displayed as an image. This adapter supports clearing the
   * list of photos and adding a new photo.
   *
   */
  public class MyExpandableListAdapter extends BaseExpandableListAdapter {
      // Sample data set.  children[i] contains the children (String[]) for groups[i].
      private String[] groups = { "   Su Yalıtım", "  Isı Yalıtımı", "    Çatı Kaplama Malzemeleri", "    BTM Optigreen Yeşil Catilar","  BTM Schüco Solar Güneş Enerjili Çatı Sistemleri" };
      private String[][] children = {
              { "BTM Su Yalıtım Örtüleri", "BTM PVC Su Yalıtım Örtüsü Polypan", "BTM Surma Esaslı Su Yalıtım Örtüleri" },
              { "BTM Polpan Isı Yalıtım Levhası", "BTMPlus Dış Cephe Isı Yalıtım Sistemi- MANTOLAMA Sistemi" },
              { "BTM Çatı Kaplama Malzemesi Shingle", "Oluklu Bitümlü Çatı Kaplama Malzemesi","BTM Kiremit Altı Su Yalıtım Membranı","BTM Taşlı Çatı Kaplama Örtüsü Poliroof" },
              { "Ekonomik Çatı Çözümü", "Eğimli Çati Çözümü" },
              { "Ince Film Çözümler", "Poli-Mono Kristal Moduller" }
      };
  
      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(Option_Hakkimizda_Bir.this);
          textView.setLayoutParams(lp);
          //textView.setTextSize((float) 11.5);
          // 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());
          textView.setTextSize((float) 13.0);
          //convertView.setBackgroundColor(getResources().getColor(R.color.white));
          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();
          textView.setText(getGroup(groupPosition).toString());
          textView.setTextSize((float) 15.0);
          return textView;
      }
  
      public boolean isChildSelectable(int groupPosition, int childPosition) {
          return true;
      }
  
      public boolean hasStableIds() {
          return true;
      }
  
  }
  </code></pre>
  
  <p>}</p>