2016-01-27 18 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; 
    } 
相關問題