2012-12-24 15 views
5

के लिए स्पर्श घटना बढ़ रहा है मैं एक क्षैतिज स्क्रॉल का मानना ​​है कि viewgroups के एक पदानुक्रम के अंत में एक गूगल मानचित्र में शामिल है और उसके बाद की है। मेरी समस्या यह है कि एचएसवी बाएं-दाएं ड्रैग को पकड़ रहा है जो मानचित्र के लिए है। मैंscrollview गूगल मानचित्र

hsv.requestDisallowInterceptTouchEvent(true); 

और यहां तक ​​कि

mapView.getParent().requestDisallowInterceptTouchEvent(true); 

कोशिश की, लेकिन कोई लाभ नहीं हुआ है। क्या मैं कुछ गलत कर रहा हूं? या आप एक और समाधान का सुझाव दे सकते हैं?

मुझे लगता है कि यह मेरा मूल प्रश्न होना चाहिए: मैं Mapview inside a ScrollView पर पोस्ट किए गए समाधान को कैसे कार्यान्वित कर सकता हूं। विशेष रूप से, मैं कोड कहां रखूं?

+0

सवाल विस्तारित है। – user1923613

+0

अन्य कामकाजी समाधान चेकआउट करें: https://stackoverflow.com/a/17317176/989418 –

+0

अन्य उत्तरों के लिए कुछ भी नया नहीं है, लेकिन मैंने अभी यह हल किया है कि मैंने इसे कैसे हल किया: https://gist.github.com/ Sottti/890daaeead1bd4784dfce7066a9011aa – Sotti

उत्तर

11

यह आपको सही तरीके से लगता है, लेकिन आपको प्रत्येक स्पर्श ईवेंट पर अनुरोध DisallowInterceptTouchEvent (true) विधि को कॉल करना चाहिए (docs देखें)। this solution

अपडेट किया गया प्रयास करें:

इस आजमाएं:

final HorizontalScrollView hsv = ... 
final MapView mapView = ... 

mapView.setOnTouchListener(new OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch (event.getAction()) { 
      case MotionEvent.ACTION_MOVE: 
       hsv.requestDisallowInterceptTouchEvent(true); 
       break; 
      case MotionEvent.ACTION_UP: 
      case MotionEvent.ACTION_CANCEL: 
       hsv.requestDisallowInterceptTouchEvent(false); 
       break; 
     } 
     return mapView.onTouchEvent(event); 
    } 
}); 
+0

क्या आप थोड़ा और मेरी मदद कर सकते हैं, कृपया? मेरे पास एक और समस्या यह है कि मुझे नहीं पता कि परियोजना में मुझे कोड कहां रखना चाहिए। मैंने इसके लिए बहुत से समाधान पढ़े हैं लेकिन मुझे नहीं पता कि मैंने जो कोड देखा है उसे कहां रखा जाए। – user1923613

+0

कृपया, समीक्षा जवाब –

+0

अद्यतन इतना अद्भुत है कि! यह अब काम करता है। आपका बहुत बहुत धन्यवाद! – user1923613

-1

मानचित्र के टच को ओवरराइड करने का प्रयास करें और हमेशा उससे सही लौटें।

4

गूगल मानचित्र v2 के लिए, का पालन करें समाधान this tutorial

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