gpt4 book ai didi

android - 谷歌地图问题并获得子 fragment 管理器

转载 作者:行者123 更新时间:2023-11-29 20:01:43 25 4
gpt4 key购买 nike

我一直在支持 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com