मैं जियोफेंसिंग पर काम कर रहा हूं, और मैप को इनिशियलाइज़ करने की कोशिश कर रहा हूं लेकिन मुझे यह त्रुटि मिल रही है:

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) पर आवेदन समाप्त कर दिया गया।

क्या कोई मेरी मदद कर सकता है? उत्तर के लिए धन्यवाद

1
utku 27 पद 2018, 04:05

2 जवाब

सबसे बढ़िया उत्तर

मुझे खेद है कि यह सब मेरी बेवकूफी भरी गलती है।

Super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); -----> यह गतिविधि_मैप्स होना चाहिए

0
utku 8 जिंदा 2019, 23:26

आप SupportMapFragment को बढ़ा रहे हैं, MapFragment को नहीं।

किसी गतिविधि के अंदर getSupportFragmentManager() का उपयोग करें और findFragment() परिणाम को SupportMapFragment पर कास्ट करें।

आपकी गतिविधि को आपके उपयोग के मामले के आधार पर AppCompatActivity या FragmentActivity विस्तारित करने की आवश्यकता है।

3
Eugen Pechanec 27 पद 2018, 04:10