Ошибка java.lang.RuntimeException:…невозможно запустить действие

109
02 октября 2019, 17:30

Создаю приложение с Яндекс.Картами. При переходе на активность с определением местоположения у меня выскакивает эта ошибка. Помогите!!!!!!! Вот код активности, куда указывает эта ошибка:

    import android.annotation.SuppressLint;
    import android.graphics.PointF;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.Button;
    import android.widget.TextView;
    import com.yandex.mapkit.Animation;
    import com.yandex.mapkit.MapKitFactory;
    import com.yandex.mapkit.geometry.Point;
    import com.yandex.mapkit.layers.ObjectEvent;
    import com.yandex.mapkit.map.CameraPosition;
    import com.yandex.mapkit.mapview.MapView;
    import com.yandex.mapkit.user_location.UserLocationLayer;
    import com.yandex.mapkit.user_location.UserLocationObjectListener;
    import com.yandex.mapkit.user_location.UserLocationView;
    import com.yandex.runtime.image.ImageProvider;
public class Main4Activity extends AppCompatActivity implements UserLocationObjectListener {
    private String MAPKIT_API_KEY = "ваш ключ";
    private MapView mapview;
    private UserLocationLayer userLocationLayer;
    @SuppressLint("WrongViewCast")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MapKitFactory.setApiKey(MAPKIT_API_KEY);
        MapKitFactory.initialize(this);
        setContentView(R.layout.activity_4main);
        super.onCreate(savedInstanceState);
        mapview = (MapView)findViewById(R.id.mapview);
        mapview.getMap().setRotateGesturesEnabled(true);
        mapview.getMap().move(new CameraPosition(new Point(55.751574, 37.573856), 11.0f, 0.0f, 0.0f),new Animation(Animation.Type.SMOOTH, 0),null);
        userLocationLayer = mapview.getMap().getUserLocationLayer();
        userLocationLayer.setEnabled(true);
        userLocationLayer.setHeadingEnabled(true);
        userLocationLayer.setObjectListener(this);
    }
    @Override
    protected void onStop() {
        mapview.onStop();
        MapKitFactory.getInstance().onStop();
        super.onStop();
    }
    @Override
    protected void onStart() {
        super.onStart();
        MapKitFactory.getInstance().onStart();
        mapview.onStart();
    }
    @Override
    public void onObjectAdded(UserLocationView userLocationView) {
        userLocationLayer.setAnchor(
                new PointF((float)(mapview.getWidth() * 0.5), (float)(mapview.getHeight() * 0.5)),
                new PointF((float)(mapview.getWidth() * 0.5), (float)(mapview.getHeight() * 0.83)));
        mapview.getMap().move(
                new CameraPosition(new Point(mapview.getWidth(), mapview.getHeight()), 0, 0.0f, 0.0f),
                new Animation(Animation.Type.SMOOTH, 5),
                null);

        userLocationView.getPin().setIcon(ImageProvider.fromResource(
                this, R.drawable.current_location));
        userLocationView.getArrow().setIcon(ImageProvider.fromResource(
                this, R.drawable.current_location));
        userLocationView.getAccuracyCircle().setFillColor(R.color.colorAccent);
    }
    @Override
    public void onObjectRemoved(UserLocationView userLocationView) {
    }

    @Override
    public void onObjectUpdated(UserLocationView userLocationView, ObjectEvent objectEvent) {
    }
}

Сама ошибка:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.serge.myapplication/com.example.serge.myapplication.Main4Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.yandex.mapkit.map.Map com.yandex.mapkit.mapview.MapView.getMap()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2895) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1616) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:171) at android.app.ActivityThread.main(ActivityThread.java:6651) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.yandex.mapkit.map.Map com.yandex.mapkit.mapview.MapView.getMap()' on a null object reference at com.example.serge.myapplication.Main4Activity.onCreate(Main4Activity.java:38) at android.app.Activity.performCreate(Activity.java:7088) at android.app.Activity.performCreate(Activity.java:7079) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770) ... 9 more
Answer 1

Я разобрался. Ребят, когда возникает такая ошибка, то всегда внимательно проверяйте xml файл!

READ ALSO
Запуск exe файла и передача значений Java

Запуск exe файла и передача значений Java

Всем привет, вообщем столкнулся с такой проблемой

119
Отступ между View-компонентами в ConstraintLayout

Отступ между View-компонентами в ConstraintLayout

Вопрос достаточно простой, правда сам пока не нашёл на него ответ

126
Создание jar файла с комментариями кода

Создание jar файла с комментариями кода

Я написал свою маленькою библиотеку, все методы и переменние коментировал

140
ссылка одного CSS внутри другого CSS

ссылка одного CSS внутри другого CSS

Вопрос чисто теоретический и простой, но в интернетах не нашелКак реализовать вот это:

126