2012-01-08 11 views
12

का उपयोग करके एक विस्तारणीय लिस्ट व्यू का विस्तारित समूह दृश्य प्राप्त करें, मैं ExpandableListView का उपयोग कर रहा हूं और समूह में विस्तार करते समय छवि को स्थानांतरित करने की असफल कोशिश कर रहा हूं (छवि समूह दृश्य का हिस्सा है)।ऑन ग्रुपएक्सपैंड

यहाँ मेरी कोड है:

my_list_view.setOnGroupExpandListener(new OnGroupExpandListener() 
{ 
    @Override 
    public void onGroupExpand(int groupPosition) 
    { 
     Toast.makeText(getBaseContext(), "Group " + my_list_view.getGroupId(groupPosition), Toast.LENGTH_SHORT).show(); 
    } 
}); 

मूल रूप से मेरी समस्या है: मैं कैसे विस्तार समूह दृश्य का उपयोग कर सकते हैं, जब केवल चर मैं उपयोग कर सकते हैं groupPosition है?

कोई भी आपको-बनाना-एक-कस्टम-एडाप्टर-जैसी प्रतिक्रिया स्वीकार नहीं की जाएगी। मैंने पहले ही कोशिश की है और यह मेरे मुद्दे के लिए काम नहीं करता है। मुझे GroupExpand ईवेंट को सुनने की आवश्यकता है।

+0

के बारे में भूल जाते हैं कि, मैं ऐसा करने के लिए कैसे नहीं है। मुझे लगता है कि मुझे जिस फ़ंक्शन का उपयोग करना चाहिए वह है 'getGroupView (int groupPosition, बूलियन isExpanded, कनवर्ट व्यू, व्यू ग्रुप पेरेंट देखें)' लेकिन बात यह है कि मेरे पास केवल 'groupPosition' है। मुझे लगता है कि 'एक्सपेन्डेड' सत्य पर सेट किया जाना चाहिए, लेकिन 'कन्वर्ट व्यू' और 'पैरेंट' के बारे में क्या ??? – thomaus

+0

क्या आपके पास कोई समाधान है? –

+0

इस उत्तर को चेक करें। यह मेरे साथ काम करता है (http://stackoverflow.com/a/22912225/5621162) –

उत्तर

11

मैंने जो किया वह boolean isExpanded का उपयोग कर रहा है, जब आप कस्टम एडाप्टर करते हैं तो getGroupView में आप मुफ्त में आते हैं। मैं चीजों को उस तरीके से काम करने में सक्षम था जिस तरह से मैं गतिविधि में ऐसा करने के बजाय चाहता था। यदि आप कन्स्ट्रक्टर में प्राप्त संदर्भ को सहेजते हैं, तो आप संसाधनों को प्राप्त करने के लिए इसका उपयोग कर सकते हैं।

@Override 
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { 
    if (isExpanded) { 
    mContext.getResources().getDrawable(R.drawable.arrow) 
    doSomething(); 
    } 
    else { 
    doSomethingElse(); 
    } 
} 

मेरे दूसरे सवाल का जवाब (जो थोड़ा गाड़ी वैसे भी था) की तुलना में बहुत आसान है, इसलिए सच है कि एक :)

+3

धन्यवाद। मैंने कुछ समय पहले इस समाधान की कोशिश की है और यह छोटी है + इस वर्ग में समूह दृश्य को बदलने का अर्थ नहीं है। यह ग्रुपएक्सपैंड घटना के अंदर होना चाहिए। – thomaus

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