2009-08-27 14 views
6

के लिए फ़्लिंग जेस्चर को सर्वोत्तम तरीके से कैसे संभालना है, मेरे पास मुख्य दृश्य में ListActivity वाला एंड्रॉइड ऐप है। सूची में TextView और एक छुपा डिलीट बटन है। डिलीट बटन डिफ़ॉल्ट रूप से छुपाया जाएगा। मैं बटन दिखाने के लिए एक झुकाव इशारा उपयोग करना चाहता हूँ। मैं स्टैक ओवरफ्लो पर प्रश्न # 937313 पर फ़्लिंग इशारा करने का पता लगाने में सक्षम हूं। मुझे यह स्पष्ट नहीं है कि सूची में कौन सा आइटम फ़्लश किया गया था, क्योंकि ऑन टच श्रोता ListView पर सुनता है। आइटम जरूरी नहीं चुना गया है इसलिए चयन करें * विधियों का विश्वसनीय रूप से उपयोग नहीं किया जा सकता है। मैं SimpleListAdaptor का उपयोग कर रहा हूं इसलिए मुझे ListView में दृश्य ऑब्जेक्ट तक सीधे पहुंच नहीं है।एंड्रॉइड सूची एक्टिविटी

कोई विचार?

उत्तर

14

एक्स, वाई के लिए सूची आइटम निर्धारित करने के लिए AbsListView.pointToPosition() का उपयोग करके अपनी सूची दृश्य में समन्वय निर्धारित करने का प्रयास करें।

आप # 937313 से नुस्खा का उपयोग कर रहे हैं, तो आप इस प्रकार onFling() कम या ज्यादा ओवरराइड करने के लिए सक्षम होना चाहिए:() * पूर्णांक लेता है और के रूप में तर्क तो * गणित का उपयोग तैर नहीं

@Override 
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
    try { 
     Toast.makeText(listAdapter.getItem(listView.pointToPosition((int) e1.getX(), (int) e1.getY()).toString()); 
     return super.onFling(); 
    } catch(Exception e) { 
     // do nothing 
    } 
} 
+2

* pointToPosition .round (e1.getX()), Math.round (e1.getY()) * सीधे * e1.getX(), e1.getY() * का उपयोग करने के बजाय * – FreewheelNat

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