gpt4 book ai didi

android - 如何在选项卡的 fragment 中实现 MapFragment

转载 作者:行者123 更新时间:2023-11-30 01:51:20 24 4
gpt4 key购买 nike

我有几个使用 FragmentPagerAdapter 创建的 Tabs,在这个 Adapter 中,我使用 getItem 方法获取我的“Tab-Fragments”:

 @Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new MapsFragment();
case 1:
return new GroupsFragment();
case 2:
return new InfosFragment();
}
return null;
}

现在我想在我的 1.Tab 上实现一个 MapFragment 我已经有了这个:

public class MapsFragment extends Fragment implements OnMapReadyCallback {

private MapFragment mapFragment;

public static MapsFragment newInstance() {
MapsFragment fragment = new MapsFragment();
return fragment;
}

public MapsFragment() {
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_maps, container, false);
}

@Override
public void onMapReady(GoogleMap googleMap) {
LatLng augsburg = new LatLng(48.348527, 10.915952);

googleMap.setMyLocationEnabled(true);
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(augsburg, 13));

googleMap.addMarker(new MarkerOptions()
.title("Augsburg Zoo")
.snippet("Der coolste Zoo der Welt")
.position(augsburg));
}

但是我在这一行遇到了一个类型不兼容的错误:

MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
但我不知道如何修复它以及如何编写比这更好的代码!

最佳答案

您可能正在使用 SupportMapFragment。

把你的 onCreate() 改成

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

SupportMapFragment mapFragment = (SupportMapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_maps, container, false);
SupportMapFragment mapFragment = (SupportMapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
return view;

关于android - 如何在选项卡的 fragment 中实现 MapFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33000748/

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