2016-01-27 19 views
0
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { 

    final String value=(String)(getChild(groupPosition,childPosition)); 

     View view = convertView; 
     if (view == null) { 
      LayoutInflater inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      view = inflater.inflate(R.layout.exp_child_layout, parent, false); 
     } 

     TextView txt_group_category = (TextView) view.findViewById(R.id.txt_child_category); 

     txt_group_category.setText("test"); 

     return view; 
    } 

但它给了我ClassCastException我的hashmap是字符串类型的字符串和列表,那么我如何获取列表的值?

+0

请张贴您在logcat中获得的错误代码。 –

+0

发布getChild()方法的代码 –

回答

0

这是我送给你的参考代码绝对,我已经实现了可扩展的ListView和我有,我有一个字符串作为组页眉和反对我救了我的孩子

的ArrayList

getChild()首先我相同的情况下从另一个ArrayList获得名称,然后从HashMap获取其值。 If子句检查如果标题包含子项。

@Override 
    public Object getChild(int groupPosition, int childPosititon) { 

     if(this.inboxItem.containsKey(this.inboxHeaders.get(groupPosition))) 
     return this.inboxItem.get(this.inboxHeaders.get(groupPosition)).get(childPosititon); 

     return null; 
    } 

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

    @Override 
    public View getChildView(int groupPosition, final int childPosition, 
          boolean isLastChild, View convertView, ViewGroup parent) { 

     final Inbox child = (Inbox) getChild(groupPosition, childPosition); 

     if(child != null) { 
      if (convertView == null) { 
       LayoutInflater infalInflater = (LayoutInflater) this._context 
         .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       convertView = infalInflater.inflate(R.layout.inbox_item, null); 
      } 

      ImageView unreadMarker = (ImageView) convertView 
        .findViewById(R.id.unread_icon); 
      TextView inboxTitle = (TextView) convertView 
        .findViewById(R.id.inbox_title); 
      TextView inboxDesc = (TextView) convertView 
        .findViewById(R.id.inbox_desc); 

      if(child.getsDesc() != null && child.getfDesc() != null) 
       unreadMarker.setImageResource(R.drawable.email_icon_unread); 

      inboxTitle.setText(child.getpName()); 
      inboxDesc.setText(child.gettDesc()); 
     } 
     return convertView; 
    } 
相关问题