android - fragment 中的 getMapAsync

标签 android android-fragments

我正在使用具有不同 fragment 的滑动选项卡。在 map fragment 中,我无法将嵌套 fragment 用作 XML。下面是 Java 代码和 XML 文件。 我陷入了 getMapAsync() 方法那么如何使用 getMapAsync 获取 map 而不出现任何异常?我将非常感谢您的合作。

食物 fragment Java:

public class FoodFragment extends Fragment {

private SupportMapFragment mapfragment;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 View view= inflater.inflate(R.layout.food_layout, null);

mapfragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.maps_frame);
if (mapfragment == null) {
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    mapfragment = SupportMapFragment.newInstance();
    fragmentTransaction.replace(R.id.maps_frame,mapfragment).commit();
}
mapfragment.getMapAsync((OnMapReadyCallback) getActivity().getApplicationContext());

return view;

 }
}

食品 XML 文件,

  <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="2in"
    android:id="@+id/maps_frame"
    android:background="@color/colorAccent"
    android:layout_alignParentBottom="true">

  </FrameLayout> 

最佳答案

您的 ApplicationContext 无法转换为 OnMapReadyCallback 您可以创建 OnMapReadyCallback() 的新实例作为匿名类,如下所示可能正在寻找

  mapfragment.getMapAsync(new OnMapReadyCallback() {
        @Override public void onMapReady(GoogleMap googleMap) {
            if (googleMap != null) {
               // your additional codes goes here
               .....
            }
   }

您可以引用this example如果您需要的话也可以。

关于android - fragment 中的 getMapAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37368270/

相关文章:

android - AsyncTasks 中的同步方法

android - 显示 DialogFragment 时,ListView 会丢失所有选择

android - 当您使用距离过滤器时,gps 如何知道它移动了 x 米?

java - 检查拼字游戏单词列表中的确切单词

android - 如何在管理应用程序的应用程序信息中禁用清除数据按钮

Android - 使用按钮控制 fragment 内的 ListView

java - Viewpager 标签 fragment 和普通 fragment

android - 为什么我不能通过引用启动 Activity ?

android - 动态添加 fragment 时出错 -java.lang.IllegalStateException :

java - 数组重复过滤器 android/java 的问题