AlertDialog (с картой) открывается со второго раза

Рейтинг: 0Ответов: 0Опубликовано: 14.01.2023

Сам код

public class testcl extends AppCompatActivity implements com.huawei.hms.maps.OnMapReadyCallback {
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    MapsInitializer.initialize(this);
    MapsInitializer.setApiKey(key_huawei_map_api);
    setContentView(R.layout.testcl);

    LayoutInflater LI_new_group = LayoutInflater.from(this);
    View window_dialog = LI_new_group.inflate(R.layout.add_zone_dialog, null);

    SupportMapFragment fragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.add_zone_map_huawei);
    assert fragment != null;
    fragment.getMapAsync(this);

    findViewById(R.id.button).setOnClickListener(v2 -> {
        if (window_dialog.getParent() != null) {
            ((ViewGroup) window_dialog.getParent()).removeView(window_dialog);
        }
        new MaterialAlertDialogBuilder(this)
                .setView(window_dialog)
                .setCancelable(false)
                .setNegativeButton(R.string.lang_cancel, (dialog, which) -> dialog.dismiss())
                .setPositiveButton(R.string.lang_ok, (dialog, which) -> dialog.dismiss())
                .show();
    });
}

public void onMapReady(HuaweiMap huaweiMap) {
}
}

Активити testcl с кнопкой (по нажатию на которою открывается окно)

<androidx.constraintlayout.widget.ConstraintLayout...>

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
     />
</androidx.constraintlayout.widget.ConstraintLayout>

Активити add_zone_dialog для окна

<androidx.constraintlayout.widget.ConstraintLayout...>

<androidx.fragment.app.FragmentContainerView
    android:id="@+id/add_zone_map_huawei"
    class="com.huawei.hms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

При нажатии на кнопку первый раз - ничего не происходит, второй раз - открывается 2 окна (одно из которых с картой, второе пустое).

Цель: чтоб открывалось с первого раза с картой. С GoogleMap все ок, а вот HuaweiMap не хочет. Кто подскажет? Куда копать? И MaterialAlertDialogBuilder и AlertDialog ведут себя одинаково

Ответы

Ответов пока нет.