मैं जियोफेंसिंग पर काम कर रहा हूं, और मैप को इनिशियलाइज़ करने की कोशिश कर रहा हूं लेकिन मुझे यह त्रुटि मिल रही है:
java.lang.NullPointerException: शून्य वस्तु संदर्भ पर वर्चुअल विधि 'void com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' को लागू करने का प्रयास
मैंने स्टैक ओवरफ्लो पर मिले सभी समाधानों का भी प्रयास किया लेकिन मुझे अपनी समस्या का समाधान नहीं मिला।
private void initGMaps(){
mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textLat = (TextView) findViewById(R.id.lat);
textLong = (TextView) findViewById(R.id.lon);
// initialize GoogleMaps
initGMaps();
// create GoogleApiClient
createGoogleApi();
}
<!--GoogleMap fragment-->
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
E/AndroidRuntime: घातक अपवाद: मुख्य प्रक्रिया: com.utkukayman.locationbasedreminderbyutku, PID: 22875 java.lang.RuntimeException: एक्टिविटी कंपोनेंटइन्फो शुरू करने में असमर्थ {com.utkukayman.locationbasedreminderbyutku/com.utkukayman.locationbasedreminderity}: java.MapsActive. NullPointerException: android.app.ActivityThread.performLaunchActivity पर एक शून्य ऑब्जेक्ट संदर्भ पर वर्चुअल विधि 'void com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' को लागू करने का प्रयास करें। Android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) पर android.app.ActivityThread.-wrap12 (ActivityThread.java) पर android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1477) android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) java.lang.reflect.Method.invoke(मूल विधि) पर com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) पर com.android.internal.os.ZygoteInit.main(ZygoteInit. java:776) इसके कारण: java.lang.NullPointerException: शून्य पर वर्चुअल विधि 'void com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' को लागू करने का प्रयास com.utkukayman.locationbasedreminderbyutku.MapsActivity.initGMaps(MapsActivity.java:188) पर com.utkukayman.locationbasedreminderbyutku.MapsActivity.onCreate(MapsActivity.java:82) पर android.app.Activity.performCreate(Activity.java) पर ऑब्जेक्ट संदर्भ ) android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) पर android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) at android.app. pp.ActivityThread.-wrap12(ActivityThread.java) android.app पर। loop(Looper.java:154) android.app.ActivityThread.main(ActivityThread.java:6119) पर java.lang.reflect.Method.invoke(Native Method) पर com.android.internal.os.ZygoteInit$MethodAndArgsCaller पर। run(ZygoteInit.java:886) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) पर आवेदन समाप्त कर दिया गया।
क्या कोई मेरी मदद कर सकता है? उत्तर के लिए धन्यवाद
2 जवाब
मुझे खेद है कि यह सब मेरी बेवकूफी भरी गलती है।
Super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); -----> यह गतिविधि_मैप्स होना चाहिए
आप SupportMapFragment
को बढ़ा रहे हैं, MapFragment
को नहीं।
किसी गतिविधि के अंदर getSupportFragmentManager()
का उपयोग करें और findFragment()
परिणाम को SupportMapFragment
पर कास्ट करें।
आपकी गतिविधि को आपके उपयोग के मामले के आधार पर AppCompatActivity
या FragmentActivity
विस्तारित करने की आवश्यकता है।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।