5

मैं एक चाहते मेरी Android एप्लिकेशन में एक ExpandableListView का उपयोग उपयोगकर्ता समूह तत्व को देर तक क्लिक करता है तो एक क्रिया निष्पादित कर को रोकने के लिए, इसलिए मैं अपने BaseExpandableListAdapter विस्तार में एक OnLongClickListener परिभाषित किया। श्रोता अपेक्षित के रूप में काम करता है लेकिन बाल तत्व अब और विस्तार नहीं करते हैं। कोई विचार?एंड्रॉयड ExpandableListView लंबे समूह क्लिक श्रोता का विस्तार

public class ConnectionAdapter extends BaseExpandableListAdapter { 
    ... 
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, 
          ViewGroup parent) { 
     // convertView is a LinearLayout 
     convertView.setOnLongClickListener(new OnLongClickListener() { 
      public boolean onLongClick(View v) { 
       // my action here 
       return true; 
      } 
     }); 
    } 
    ... 
} 

उत्तर

1

कारण यह है कि आपके कोड आगे किसी अन्य 'onClick' घटनाओं प्रसंस्करण नहीं है, क्योंकि आप अपने बदले में एक 'सही' से गुजर रहे हैं। यदि आप इंगित करते हैं कि एक कार्यक्रम संभाला गया था, तो ओएस आगे की घटनाओं को आगे बढ़ाने की कोशिश कर रहा है। इसे इस घटना को संसाधित करने के लिए, और विस्तारित करने के लिए, आपको वास्तविक

+3

मैं झूठी लौटने की कोशिश की है। लेकिन एक ही मुद्दा मेरे लिए भी persisit। समूह कन्वर्टव्यू –

+0

के लिए ऑनक्लक्लिकलिस्टर को लागू करने के बाद विस्तार नहीं करेगा, मेरे पास एक ही समस्या है, जैसे ही मैं अपने समूह आइटम पर एक लंबे क्लिक श्रोता को लागू करता हूं, लघु क्लिक (समूह का विस्तार करने के लिए) काम करना बंद कर देता है ... किसी भी मदद की सराहना की जाती है। –

4

के बजाय वापसी को बदले में बदलने की आवश्यकता है आप अपने विस्तार योग्य सूचीदृश्य पर setOnItemLongClickListener सेट कर सकते हैं। ExpandableListView.PACKED_POSITION_TYPE_GROUP एक ​​समूह की आईडी है, इसे पर बदलें ExpandableListView.PACKED_POSITION_TYPE_CHILD और आप समूह के बच्चों पर लांगक्लिक के साथ हेरफेर कर सकते हैं।

कुछ इस तरह:

pager_income = (ExpandableListView) findViewById(R.id.income_scroll); 

    pager_income.setOnItemLongClickListener(new OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 
      if (ExpandableListView.getPackedPositionType(id) == ExpandableListView.PACKED_POSITION_TYPE_GROUP) { 
       // Your code with group long click 

       return true; 
      } 

      return false; 
     } 
    }); 
संबंधित मुद्दे