ExpandableListView में ExpandableListView में समूह को छिपाने के लिए है, तो मैं केवल एक समूह है। मैं उस समूह को छिपाना चाहता हूं, केवल समूह का डेटा दिखाता है। कृपया मेरी मदद करोकैसे एंड्रॉयड
उत्तर
माता पिता सेट iew vlayout पैरामीटर hieght शून्य अपने BaseExpandableListAdapter ताकि आप छिपा कर सकते हैं माता पिता
1) के साथ समूह सूचक छुपाएं में करने के लिए:
android:groupIndicator="@android:color/transparent"
2) उन समूहों के लिए एक खाली फ्रेमलेआउट लौटाएं जिन्हें आप खाली करना चाहते हैं:
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
//By default the group is hidden
View view = new FrameLayout(context);
String groupTitle = getGroup(groupPosition).toString();
//in case there's more than one group and the group title is not empty then show a TextView within the group bar
if(getGroupCount() > 1 && !groupTitle.isEmpty()) {
view = getGenericView();
((TextView)view).setText(groupTitle);
}
return view;
}
3) समूहों आप नहीं दिखा रहे हैं समूह बार के लिए expandGroup कॉल करें:
expandableListView.expandGroup(GROUP_ID);
4) यदि आप एक समूह सूचक आप getGroupView विधि से प्रोग्राम के रूप में एक imageView जोड़ने के लिए दिखाना चाहते हैं। समूह सूचक को छिपाने/दिखाने पर अधिक जानकारी के लिए इस ब्लॉग पोस्ट को देखें: Hiding group indicator for empty groups
फ़्रेमलेआउट पर लौटने से चाल चल रही है। धन्यवाद :) – Atmaram
चाल के लिए धन्यवाद। यह एकमात्र उत्तर है जो मेरे लिए काम करता है। वैसे भी, यह थोड़ा हैकी नहीं है? मुझे समझ में नहीं आता है कि हेडर को छुपाने का "ऑफिसियल" तरीका क्यों नहीं है। – kazbeel
यह चाल है: दृश्य देखें = नया फ्रेमलाउट (संदर्भ); – Derzu
मुझे एक ही समस्या थी और इससे मेरी समस्या हल हो गई। अपने लिस्टव्यू के एडाप्टर में getGroupView में निम्न जोड़ें।
if (groupPosition == 0) {
convertView = layoutInflater.inflate(R.layout.blank_layout, null);
} else {
convertView = layoutInflater.inflate(R.layout.group_indicator_cell,null);
}
यह सूची के 0 वें समूह को खाली कर देगा।
जहां खाली लेआउट लेआउट_हेइट = 0 डीपी के अंदर कुछ दृश्य के साथ एक लेआउट है। यह काम करता है!
मैं अभी-अभी यह कोशिश की है, और यह वास्तव में काम करता है, लेकिन यह विस्तार योग्य सूची में शेष दिखाई समूहों के साथ कुछ अजीब व्यवहार का कारण बनता है। चालाक समाधान, फिर भी! – LargeGlasses
खाली लेआउट लौटने के बजाय, मैं लेआउट में सभी बच्चों के माध्यम से यात्रा करता हूं और कोई डेटा नहीं होने पर view.setVisibility(View.Gone)
पर कॉल करता हूं।
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
LinearLayout lo;
if (convertView != null) {
lo = (LinearLayout) convertView;
} else {
lo = (LinearLayout) mLayoutInflater.inflate(R.layout.list_item_group_header, parent, false);
}
int visibility = mData.size() == 0 ? View.GONE : View.VISIBLE;
for (int i = 0; i < lo.getChildCount(); i++) {
lo.getChildAt(i).setVisibility(visibility);
}
return lo;
}
- 1. एंड्रॉयड: कैसे एंड्रॉयड एप्लिकेशन द्वारा
- 2. कैसे एंड्रॉयड
- 3. कैसे एंड्रॉयड
- 4. कैसे एंड्रॉयड
- 5. कैसे एंड्रॉयड
- 6. कैसे एंड्रॉयड
- 7. कैसे एंड्रॉयड
- 8. कैसे एंड्रॉयड
- 9. कैसे एंड्रॉयड
- 10. कैसे एंड्रॉयड
- 11. कैसे एंड्रॉयड
- 12. कैसे एंड्रॉयड
- 13. कैसे एंड्रॉयड
- 14. कैसे एंड्रॉयड
- 15. कैसे एंड्रॉयड
- 16. कैसे एंड्रॉयड
- 17. कैसे एंड्रॉयड
- 18. कैसे एंड्रॉयड
- 19. कैसे एंड्रॉयड
- 20. कैसे एंड्रॉयड
- 21. कैसे एंड्रॉयड
- 22. कैसे एंड्रॉयड
- 23. कैसे एंड्रॉयड
- 24. एंड्रॉयड
- 25. एंड्रॉयड
- 26. एंड्रॉयड
- 27. एंड्रॉयड
- 28. एंड्रॉयड
- 29. मैं कैसे एंड्रॉयड
- 30. मैं कैसे एंड्रॉयड
मैं parent.getLayoutParams() की कोशिश की है ऊंचाई = 0। parent.invalidate(); लेकिन यह कुछ भी नहीं करता है: मैंने कोशिश की है: parent.setLayoutParams (नया ViewGroup.LayoutParams (ViewGroup.LayoutParams.FILL_PARENT, 0)); लेकिन यह क्लासकास्ट एक्सेप्शन लॉन्च करता है :( क्या आपने वास्तव में यह कोशिश की है या आपने अनुमान लगाया है? – Giorgio