与Mapbox搭配使用时,Android Studio Spinner无法正常工作

时间:2018-07-18 15:25:14

标签: android android-studio mapbox android-spinner mapbox-android

我应该有一个微调器,其项目会触发地图的摄像头到达某个位置。问题在于,每当我将微调器和Mapbox的地图放在一个活动中时,微调器就会完全停止工作。它的项目消失了,它的onItemSelected()也不能正常工作。但是,当我删除地图时,微调器可以正常工作。

这里是XML(不要在乎温度,城市,湿度部分):     

    <!--City-->
    <TextView
        android:id="@+id/city"
        android:layout_width="95dp"
        android:layout_height="22dp"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="8dp"
        android:text="City"
        android:textSize="18sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/mapView" />

    <!--Temperature-->
    <TextView
        android:id="@+id/temp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:text="Temperature"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/city" />

    <!--Humidity-->
    <TextView
        android:id="@+id/humidity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:text="Humidity"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/temp" />

    <!--Weather-->
    <TextView
        android:id="@+id/weather_desc"
        android:layout_width="wrap_content"
        android:layout_height="27dp"
        android:layout_marginEnd="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:text="Weather"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/humidity" />

    <!--Date Today-->
    <TextView
        android:id="@+id/date"
        android:layout_width="182dp"
        android:layout_height="24dp"
        android:layout_marginBottom="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:text="Date"
        android:textSize="18sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/weather_desc"
        app:layout_constraintVertical_bias="0.0" />

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="36dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <!--Mapbox Map-->
    <view
        android:id="@+id/mapView"
        class="com.mapbox.mapboxsdk.maps.MapView"
        id="@+id/view2"
        android:layout_width="match_parent"
        android:layout_height="218dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/spinner1" />

</android.support.constraint.ConstraintLayout>

这是MainActivity的onCreate()中元素的代码

微调框:

    Spinner spinner = findViewById(R.id.spinner1);
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, matina);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(this);

地图:

    Mapbox.getInstance(getApplicationContext(), getString(R.string.mapbox_access_token));
    setContentView(R.layout.activity_main);
    mapView = (MapView) findViewById(R.id.mapView);
    mapView.onCreate(savedInstanceState);

0 个答案:

没有答案