当前位置: 首页 > 知识库问答 >
问题:

Android:NullPointerExcture,同时替换FrameLayout

陶飞英
2023-03-14

我有以下代码

CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){

    ViewGroup view = (ViewGroup) inflater.inflate(R.layout.fragment_left, null);

    // test

    SupportMapFragment fragment = new SupportMapFragment();
    FragmentManager fm = getActivity().getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.replace(R.id.map, fragment).commit();

    GoogleMap googleMap = fragment.getMap();

    if(getCameraPosition() == null) { // first time in app
        setCameraPosition(new CameraPosition(getYourLatLng(), 12, 0 ,0));
    }
    googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(getCameraPosition()));       

    googleMap.addMarker(new MarkerOptions()
    .title("Your Position")
    .snippet("This is where your smartphone is located.")
    .position(getYourLatLng()));

    return view;
}

这就是我试图在xml文件中替换的内容:

     <FrameLayout
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

这是怎么回事?无论如何要更新ID吗?

新堆栈跟踪:

10-29 22:37:52.277: E/AndroidRuntime(16273): FATAL EXCEPTION: main
10-29 22:37:52.277: E/AndroidRuntime(16273): java.lang.NullPointerException: CameraUpdateFactory is not initialized
10-29 22:37:52.277: E/AndroidRuntime(16273):    at com.google.android.gms.internal.s.b(Unknown Source)
10-29 22:37:52.277: E/AndroidRuntime(16273):    at com.google.android.gms.maps.CameraUpdateFactory.aX(Unknown Source)

共有1个答案

章兴发
2023-03-14

您需要设置MapReadyCallback。

https://developers.google.com/android/reference/com/google/android/gms/maps/MapFragment

地图准备好后,您可以移动摄像机。(有一个功能提供一个谷歌地图,让你移动相机。)

https://developers.google.com/android/reference/com/google/android/gms/maps/OnMapReadyCallback.html

 类似资料:
  • 我们正在尝试构建基本的事件日历功能,该功能允许用户创建事件并指定给定月、日、年、小时和分钟的开始时间以及时区()。CMS系统根据服务器的位置生成结果,比方说山区标准时间。CMS没有在其日期选择器组件中提供指定时区的选项。但是,我们可以控制SQL datetime精度,默认设置为。 被格式化为,以便在.ics/ical中填充开始/结束时间。使用这种格式,它会使2018年5月25日7:00PM()始终

  • 这个问题在互联网上一次又一次地出现(即使是在SO上),但我还没有找到一个令人满意的解决方法: 如何在运行的web应用程序中更改/替换Javascript代码,而不重新加载页面? 很多人对此的回答是“你不能,因为这是不可能的”。IntelliJ IDEAs live edit插件的一些实验证明了这是可能的。但我不想为这个特性绑定到IDE。(加分:与浏览器无关) 下面是我尝试的: 将//#source

  • 问题内容: java.util.concurrent.atomic软件包的javadoc表示以下内容: 一个小的类工具包,支持对单个变量进行无锁线程安全编程。 但是我没有在任何AtomicInteger或AtomicBoolean类中看到任何线程安全的(同步或锁定)代码。 因此,这2个是否相同: 1。 2。 更新 :感谢您的回答。使用AtomicInteger时需要挥发吗? 问题答案: 它们将提供

  • 我正在尝试使用AST转换替换类的方法。 我首先检查该方法是否存在,然后将其删除(基于此)。 我看到集合上的大小发生了变化,但该方法仍然可以在类节点上访问。 删除该方法后,我想添加一个同名的新方法: 但是,这会导致以下错误: 正确的方法是什么? 更新:由于我打算做的就是替换该方法的现有功能,因此我创建了一个新的块语句,并使用 在现有方法上设置了它。

  • 本文向大家介绍python同时替换多个字符串方法示例,包括了python同时替换多个字符串方法示例的使用技巧和注意事项,需要的朋友参考一下 本文介绍了python同时替换多个字符串方法示例,分享给大家,具体如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我有两个文本文件,并用第二个文件中的实际匹配项替换XXX占位符-按照第二个文件中给出的顺序。 第一个文本是一个文件,在一行中有多行和多个占位符。 欧盟由以下国家组成:XXX、XXX、XXX、XXX、XXX。。。。欧盟内最大的三个国家是XXX,XXX,XXX。 第二个文件是每行一个匹配的列表: 波兰荷兰丹麦西班牙意大利德国法国 我想把它替换如下: 欧洲联盟由下列国家组成:波兰、荷兰、丹麦、西班牙、意