title: GroupText Changed when we open particular Group in expandable list view of android
body: <p>I have a problem that My grouptext get automatically changed when we click on particular group to open. I unable to find the source of this problem. Please suggest me any solution regarding the same.</p>
  
  <p><img src="https://i.stack.imgur.com/JpEFT.png" alt="enter image description here"></p>
  
  <p>after Open:</p>
  
  <p><img src="https://i.stack.imgur.com/7qR1f.png" alt="enter image description here"></p>
  
  <p><strong>Code(Expandable Adapter):</strong></p>
  
  <pre><code>public class ExpResearchListAdapter extends BaseExpandableListAdapter {
      // Sample data set. children[i] contains the children (String[]) for
      // groups[i].
      Context context;
      private String[] groups = { "Research by Brand", "Research by Category",
          "Research by Price" , "Research by Fuel Economy", "Recently Viewed"};
      GridView label;
      TextView groupText;
      String group;
      ImageView groupImg;
      //ArrayList&lt;String&gt; groups = new ArrayList&lt;String&gt;();
      ArrayList&lt;Integer&gt; groupImage = new ArrayList&lt;Integer&gt;();
      ArrayList&lt;Integer&gt; childElement = new ArrayList&lt;Integer&gt;();
      private Integer[][] children = { 
              { R.drawable.icon_1, R.drawable.icon_2, R.drawable.icon_3, R.drawable.icon_4, R.drawable.icon_5, R.drawable.icon_6, R.drawable.icon_7, R.drawable.icon_8, R.drawable.icon_9,
                  R.drawable.icon_10, R.drawable.icon_11, R.drawable.icon_12, R.drawable.icon_13, R.drawable.icon_14, R.drawable.icon_15, R.drawable.icon_16, R.drawable.icon_17, R.drawable.icon_18,
                  R.drawable.icon_19, R.drawable.icon_20, R.drawable.icon_21, R.drawable.icon_22, R.drawable.icon_23, R.drawable.icon_24, R.drawable.icon_25, R.drawable.icon_26, R.drawable.icon_27,
                  R.drawable.icon_28, R.drawable.icon_29, R.drawable.icon_30, R.drawable.icon_31, R.drawable.icon_32, R.drawable.icon_33, R.drawable.icon_34, R.drawable.icon_35, R.drawable.icon_36,
                  R.drawable.icon_37, R.drawable.icon_38, R.drawable.icon_39, R.drawable.icon_40, R.drawable.icon_41, R.drawable.icon_42, R.drawable.icon_43, R.drawable.icon_44, R.drawable.icon_45,
                  R.drawable.icon_46} 
              };
      LinearLayout linear;
  
      public ExpResearchListAdapter(Context context, ArrayList&lt;String&gt; groups, ArrayList&lt;Integer&gt; groupImage, ArrayList&lt;Integer&gt; childElement, LinearLayout linear)
      {
          this.context=context;
          //this.groups = groups;
          this.groupImage = groupImage;
          this.childElement = childElement;
          this.linear = linear;
      }
  
      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) {
          int i = 0;
          try {
          i = children[groupPosition].length;
  
          } catch (Exception e) {
          }
  
          return 1;
      }
  
  
  
      public View getChildView(int groupPosition, int childPosition,
          boolean isLastChild, View convertView, ViewGroup parent) {
          if(convertView==null)
          {
              LayoutInflater inflater = LayoutInflater.from(context);
              convertView = (View) inflater.inflate(R.layout.brand_research_grid, null);
              label = (GridView) convertView.findViewById(R.id.gv_ResearchList_Child);
              label.setAdapter(new GridAdapter(context, childElement));
              label.setCacheColorHint(Color.WHITE);
  
              // initialize the following variables (i've done it based on your layout
              // note: rowHeightDp is based on my grid_cell.xml, that is the height i've
              //    assigned to the items in the grid.
              //final int spacingDp = 20;
              final int colWidthDp = 50;
              final int rowHeightDp = (childElement.size()/3)*10;
              //final int rowHeightDp = 107;
  
              // convert the dp values to pixels
              //final float COL_WIDTH = context.getResources().getDisplayMetrics().density * colWidthDp;
              final float COL_WIDTH = 10;
              //final float ROW_HEIGHT = context.getResources().getDisplayMetrics().density * rowHeightDp;
              final float ROW_HEIGHT = 107f;
              final float SPACING = context.getResources().getDisplayMetrics().density * 0;
              System.out.println("===================================RowHeight"+ROW_HEIGHT);
              System.out.println("===================================RowHeightDP"+rowHeightDp);
  
  
              // calculate the column and row counts based on your display
              final int colCount = (int)Math.floor((linear.getWidth() - (2 * SPACING)) / (COL_WIDTH + SPACING));
              final int rowCount = (int)Math.ceil((childElement.size() + 0d) / 3);
              //final int rowCount = 16;
  
              // calculate the height for the current grid
              final int GRID_HEIGHT = Math.round(rowCount * (ROW_HEIGHT + SPACING));
              System.out.println("===================================GHieght"+GRID_HEIGHT);
              System.out.println("===================================colCount"+colCount);
              System.out.println("===================================rowCount"+rowCount);
              // set the height of the current grid
              label.getLayoutParams().height = GRID_HEIGHT;
          }
  
  
  
  
  
          return convertView;
      }
  
      public Object getGroup(int groupPosition) {
          //return groups.get(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) {
  
          if (convertView == null) {
              LayoutInflater infalInflater = (LayoutInflater) context
                      .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
              convertView = infalInflater.inflate(
                      R.layout.research_list_exp_group, null);
              groupText = (TextView) convertView
                      .findViewById(R.id.tv_ResearchList_ExpParentElement);
              groupImg = (ImageView) convertView
                      .findViewById(R.id.img_ResearchList_GroupParentImage);
              group = (String) getGroup(groupPosition);
              // convertView.setClickable(false);
              groupText.setText(groups[groupPosition]);
              groupImg.setImageResource(groupImage.get(groupPosition));
          }
  
  
          return convertView;
      }
  
      public boolean isChildSelectable(int groupPosition, int childPosition) {
          return true;
      }
  
      public boolean hasStableIds() {
          return true;
      }
  
      }
  </code></pre>
  
  <p>Thanks in advance.</p>