作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在支持 map fragment 的行上收到错误,我是 android 和 java 的新手,所以没有它说的答案 ';'是预期的,但一旦插入到获取子 fragment 管理器之前,它就会使支持映射 fragment 无法访问,并且我在整行中遇到错误。
这是我的课
package com.example.hp_user.shoutfinal28;
import android.app.FragmentManager;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
public class FragmentShouts_Maps extends Fragment implements OnMapReadyCallback {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Get the view from fragment shouts.xml
View view = inflater.inflate(R.layout.fragmentshouts_maps, container, false);
return view;
SupportMapFragment fragment = SupportMapFragment.newInstance(); getChildFragmentManager().findFragmentById(R.id.maps);
fragment.getMapAsync(this);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onMapReady (GoogleMap googleMap) {
}
}
这是我的xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment android:id="@+id/maps"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.example.hp_user.shoutfinal28.FragmentShouts_Maps"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_alignParentEnd="true">
</fragment>
</RelativeLayout>
最佳答案
替换这段代码:
View view = inflater.inflate(R.layout.fragmentshouts_maps, container, false);
return view;
SupportMapFragment fragment = SupportMapFragment.newInstance(); getChildFragmentManager().findFragmentById(R.id.maps);
fragment.getMapAsync(this);
用这个:
View view = inflater.inflate(R.layout.fragmentshouts_maps, container, false);
SupportMapFragment fragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.maps);
if (fragment!= null) {
fragment.getMapAsync(this);
}
return view;
您不需要创建新 fragment 。您只需要对已放置在 xml 中的 map 的引用。其次,return
行始终是函数的最后一行。因为一旦返回行被执行,该方法的剩余行总是被跳过。
关于android - 谷歌地图问题并获得子 fragment 管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176767/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!