2013-08-14 7 views
43

प्रथम में ढाला नहीं जा सकता है, मैं बाहर यहाँ देखा: Start FragmentActivity from Activity और अब मैं निम्नलिखित समस्या है:त्रुटि: MapFragment android.support.v4.app.Fragment

MapsActivity:

public class MapsActivity extends FragmentActivity { 

private GoogleMap mMap; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.maps); 
    setUpMapIfNeeded(); 
} 
... 

और यह MainActivity से बाहर के साथ शुरू करना चाहते हैं:

startActivity(new Intent(this, MapsActivity.class)); 

गतिविधि एंड्रॉयड प्रकट में पंजीकृत है:

<activity android:name="de.xbjoernx.gapp.MapsActivity"></activity> 

त्रुटि

FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to start activity ComponentInfo{de.xbjoernx.gapp/de.xbjoernx.gapp.MapsActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358) 
     at android.app.ActivityThread.access$600(ActivityThread.java:153) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.app.ActivityThread.main(ActivityThread.java:5227) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:511) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:323) 
     at android.app.Activity.setContentView(Activity.java:1881) 
     at de.xbjoernx.gapp.MapsActivity.onCreate(MapsActivity.java:19) 
     at android.app.Activity.performCreate(Activity.java:5104) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262) 
     ... 11 more 
Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment 
     at android.support.v4.app.Fragment.instantiate(Fragment.java:394) 
     at android.support.v4.app.Fragment.instantiate(Fragment.java:369) 
     at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676) 
     ... 20 more 

कोई सुझाव इसे ठीक करने के?

धन्यवाद अब तक :)

+0

क्या आप केवल '<गतिविधि android: name = "MapsActivity"> 'के साथ प्रयास कर सकते हैं? – g00dy

+0

इसके कारण: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment को android.support.v4.app.Fragment <--- आपको यह तय करना होगा कि आप किस का उपयोग करने जा रहे हैं। – bofredo

उत्तर

135

के रूप में आप FragmentActivity जो इंगित करता है कि आप समर्थन पुस्तकालय एंड्रॉयड के निचले संस्करण के साथ संगत v4 उपयोग कर रहे हैं का विस्तार कर रहे हैं। MapFragment को SupportMapFragment के साथ अपनी एक्सएमएल फ़ाइल के अंदर बदलें। SupportMapFragment एंड्रॉइड सपोर्ट पैकेज के साथ उपयोग करने वाला एक है। MapFragment मूल एपीआई स्तर 11 खंडों के संस्करण के लिए है।

+6

धन्यवाद! सही काम किया :) बस com.google.android.gms.maps का उपयोग करें। समर्थन मैपफ्रैगमेंट – Heisnberg

+0

धन्यवाद। मेरी समस्या हल :) –

+1

बचाया मा गधा आदमी thanx !! – Manny265

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