में एक मौजूदा जावा वर्ग के लिए एक कारखाने विधि कैसे जोड़ें एक शुद्ध स्काला वातावरण में, मैं अगर मैं करने के लिए किसी मौजूदा ऑब्जेक्ट को एक कारखाने विधि "जोड़ें" चाहता था निम्नलिखित कर सकता है मौजूदा जावा क्लास के साथ संयोजन में ऐसी कार्यक्षमता की आवश्यकता होगी। मेरे ठोस उदाहरण में, मैं कक्षा com.google.android.maps.GeoPoint
पर फ़ैक्टरी विधि fromLocation
जोड़ना चाहूंगा (और मुझे लगता है कि प्रत्येक एंड्रॉइड डेवलपर को यह पता चलेगा कि यह उपयोगी क्यों होगा ;-))।स्काला
हालांकि, अगर मैं की तरह
implicit def fromGeoPoint(t: GeoPoint.type) = RichTest
मैं बताते हुए
प्रकार मेल नहीं खाता कोई त्रुटि मिलती है कुछ करने की कोशिश; पाया: com.google.android.maps.GeoPoint.type (अंतर्निहित प्रकार वस्तु com.google.android.maps.GeoPoint साथ) की आवश्यकता: AnyRef
तो मुझे आश्चर्य है कि अगर वहाँ किसी भी तरह से कैसे ऊपर दृष्टिकोण सकता है कार्यान्वित किया जा सकता है - या Location
से GeoPoint
तक एक अंतर्निहित रूपांतरण प्रदान करेगा, स्केल में पसंदीदा तरीका होना चाहिए ताकि Location
का उपयोग किया जा सके जब भी GeoPoint
आवश्यक हो?
, टिप्पणी में अनुरोध के रूप में एक उपयोग परिदृश्य:
// Callback you get from the GPS
override def onLocationChanged(l: Location) {
// You want to put a marker on a map, hence a GeoPoint is required
val gp: GeoPoint = GeoPoint.fromLocation(location)
val item = new OverlayItem(gp, ...)
....
}
हालांकि, यह ध्यान रखें कि यह सिर्फ एक सामान्य समस्या ;-)
क्या आप इस फैक्ट्री विधि का उपयोग करने वाले कोड का उदाहरण दे सकते हैं? उदाहरण के लिए, भू-बिंदु और स्थान के साथ। मैं वास्तव में इस सवाल को समझ नहीं पा रहा हूं। – Fixpoint
@ फ़िक्सपॉइंट किया गया ;-) – Leo