2013-01-31 17 views
5

मुझे दो कर्सर का उपयोग करके एक विस्तार योग्य सूची मिली है: समूह के लिए 1, दूसरा समूह से संबंधित बच्चों के लिए। उपयोगकर्ता इस विस्तारणीय सूची पर एक फ़िल्टर (अल्फाइनडेक्सर) का उपयोग कर सकते हैं। जब कोई बच्चा नहीं है (न केवल आइकन :)) मैं समूहदृश्य को पूरी तरह से हटाना चाहता हूं। ऐसा लगता है कि मैं खाली समूह के लिए रेखा हटा देता हूं।विस्तारणीय सूची में समूह दृश्य छुपाएं

मैं bindgroupview विधि में जाने के लिए दृश्यता सेट करने का प्रयास करता हूं। मैं समूह दृश्य के लिए लेआउट ऊंचाई सेट करने का प्रयास करता हूं .... परिणाम वही है, अंतरिक्ष अभी भी रखा और प्रदर्शित किया गया है।

क्या यह संभव है और मैं यह सुविधा कैसे कर सकता हूं?

कुछ नीचे कोड:

// mMapSeqArticle is TreeMap<Object, ArrayList<Object>) 
mSequenceAdapter = new SequenceCommandeAdapter(getActivity(), mMapSeqArticle); 

public class SequenceCommandeAdapter extends BaseExpandableListAdapter { 
     Object[] mGroupSeq = null; 
     Map<Sequence, ArrayList<TicketArticle>> mContent; 

     public SequenceCommandeAdapter(Context c, 
       Map<Sequence, ArrayList<TicketArticle>> map) { 
      mContent = map; 
      mGroupSeq = mContent.keySet().toArray(); 
     } 

     @Override 
     public Object getChild(int groupPosition, int childPosition) { 
      Sequence s = (Sequence) mGroupSeq[groupPosition]; 
      return ((ArrayList<TicketArticle>) (mContent.get(s))) 
        .get(childPosition); 
     } 

     @Override 
     public long getChildId(int groupPosition, int childPosition) { 
      Sequence s = (Sequence) mGroupSeq[groupPosition]; 
      return ((ArrayList<TicketArticle>) (mContent.get(s))) 
        .get(childPosition).mId; 
     } 

     @Override 
     public View getChildView(int groupPosition, int childPosition, 
       boolean isLastChild, View convertView, ViewGroup parent) { 
      // retrouve la valeur de la sequence 
      TicketArticle ta = (TicketArticle) getChild(groupPosition, 
        childPosition); 
      if (convertView == null) { 
       convertView = LayoutInflater.from(getActivity()).inflate(
         R.layout.adapter_row_article_details_table, null); 
      } 



      convertView.setTag(groupPosition + ":" + childPosition); 
      return convertView; 
     } 

     @Override 
     public int getChildrenCount(int groupPosition) { 
      Sequence s = (Sequence) mGroupSeq[groupPosition]; 
      return ((ArrayList<TicketArticle>) (mContent.get(s))).size(); 
     } 

     @Override 
     public Object getGroup(int groupPosition) { 
      return (Sequence) mGroupSeq[groupPosition];// mContent.get(groupPosition); 
     } 

     @Override 
     public int getGroupCount() { 
      return mContent.size(); 
     } 

     @Override 
     public long getGroupId(int groupPosition) { 
      return ((Sequence) mGroupSeq[groupPosition]).key; 
     } 

     @Override 
     public View getGroupView(int groupPosition, boolean isExpanded, 
       View convertView, ViewGroup parent) { 
      if (convertView == null) { 
       convertView = LayoutInflater.from(getActivity()).inflate(
         R.layout.adapter_header_sequence_details_table, null); 
      } 


      convertView.setTag(null); 
      return convertView; 
     } 

     @Override 
     public boolean hasStableIds() { 
      // TODO Auto-generated method stub 
      return false; 
     } 

     @Override 
     public boolean isChildSelectable(int groupPosition, int childPosition) { 
      // TODO Auto-generated method stub 
      return true; 
     } 
    } 

उत्तर

0

मैं अपने कोड में bindGroupView विधि नहीं दिख रहा है, लेकिन आप क्या वर्णन किया है, यह लगता है कि आप सही रास्ते पर हैं। समूह पंक्ति को विस्तृत करने योग्य सूची दृश्य से पूरी तरह से गायब होने के लिए मुझे GONE के सभी उप दृश्यों (लेआउट सहित) की दृश्यता सेट करनी होगी। अन्यथा, खाली पंक्ति बनी हुई है।

यदि आप R.layout.adapter_header_sequence_details_table की सामग्री पोस्ट करते हैं, तो मुझे अन्य चीज़ों का बेहतर विचार होगा जो आपको करने के लिए आवश्यक हैं।

संबंधित मुद्दे