有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java以编程方式在viewpager中的SupportMapFragment上单击按钮

我正在为一件非常简单的事情而挣扎。(或者至少这是我的想法……)

我需要在viewpager中的地图顶部放置一个简单的按钮

事实上,我正在以编程方式创建supportmapfragment,并将其添加到装箱的viewpager适配器中

    ViewPagerAdapter adapter = new ViewPagerAdapter
            (getSupportFragmentManager());

   mapFrag =  new SupportMapFragment();
   mapFrag.getMapAsync(this);

   adapter.addFragment(mapFrag, getString(R.string.maptab));

现在。。。要在顶部放置一个按钮,我需要supportmapfragment中的视图,以便通过addview向上推“我的按钮”

我无法理解如何在不扩展supportmapfragment类的情况下检索视图,但这需要我创建一个自定义supportmapfragment类

有什么想法吗

建议后:我使用相对布局进行了测试:

<fragment
    安卓:id="@+id/rlMap"
    class="com.google.安卓.gms.maps.SupportMapFragment"
    安卓:layout_alignParentTop="true"
    安卓:layout_alignParentStart="true"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent" >


</fragment>

<Button
    安卓:id="@+id/button1"
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:layout_alignParentBottom="true"
    安卓:text="Button 1"/>

此“使”按钮出现一秒钟(地图加载前),然后被地图覆盖。甚至在片段中放置按钮也会产生同样的效果


共 (1) 个答案

  1. # 1 楼答案

    即使您尝试将按钮放在片段的视图上,您仍然需要设置一个单击侦听器,并在按下按钮时执行一些逻辑。我认为这会使现有代码有点混乱,将片段的责任(注册按钮单击侦听器)传递给活动

    如果我是你,我会做的是创建一个新的Fragment,其中包含一些ConstraintLayout,其中包含基础映射和按钮(但不扩展SupportMapFragment)。它将是一个包装器片段,您还可以在其中处理按钮及其事件,以及任何需要更多的内容