2016-01-23 12 views
7
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
     Log.d("test1","run"); 
    } 
}); 

सूचीदृश्य आग नहीं है, अगर मैं इस तरह सेट किया गया है:सूची दृश्य क्लिक करने योग्य नहीं है जब कि सूचीदृश्य अंदर TextView चयन

<TextView 
     android:id="@+id/comment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/username" 
     android:layout_below="@+id/username" 
     android:autoLink="web" 
     android:textIsSelectable="true" 
     android:textColor="#000000" 
     android:textSize="14dp" /> 

मैं textIsSelectable निकालने के बाद, onitemclicklistener निकाल दिया जाता है।

मैं थोड़ी देर का अध्ययन किया है, और मैं इंटरनेट

उदा पर कुछ सुझाव का पालन किया

जनक दृश्य

clicklistener इस समय सक्रिय किए जाने के लिए android:descendantFocusability="blocksDescendants" डाल दिया, लेकिन जब पाठ का चयन करें यह त्रुटि दिखाने:

TextView does not support text selection. Selection cancelled. 

दोनों समारोह मौजूद कर सकते हैं? बहुत बहुत धन्यवाद

+1

क्या आप अपने कोड के बारे में अधिक जानकारी पोस्ट कर सकते हैं? जैसे, आपने यह टेक्स्टव्यू कहाँ रखा था? क्या आपने एडाप्टर बनाया है? –

+1

जहां तक ​​मैं समझता हूं, आप टेक्स्ट के कुछ भाग का चयन करना चाहते हैं जो 'ListView' में है। यदि मैं सही हूं, तो अपने ऐप डिज़ाइन को क्यों न बदलें? छोड़ें * onItemClickListener * और जब कोई आइटम क्लिक किया जाता है, तो जब कोई वांछित टेक्स्ट चुन सकता है तो पॉपअप खोलें। – JJ86

उत्तर

1

आप अपने माता-पिता को सूची एडाप्टर में मैन्युअल रूप से OnClickListener जोड़ सकते हैं। android:descendantFocusability="blocksDescendants" को मिटाना न भूलें। मैंने बस कोशिश की।

कोड नीचे
viewHolder.parent.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Toast.makeText(context, "Click", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
1

का प्रयोग करें, हटाने

android:textIsSelectable="true" 

यह आपकी समस्या का समाधान हो सकता है।

viewHolder.textView.setOnClickListener 
(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Toast.makeText(context, "Click", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
संबंधित मुद्दे