gpt4 book ai didi

android - 不可转换类型;无法转换 android.app.fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:58 24 4
gpt4 key购买 nike

我是 android studio 编程的新手,我正在尝试在抽屉导航中使用 Google map (设置目的地、路线等),我有多个 fragment ,一个专门用于 Google map ,我是在使用标记和使用 onMapReady() 方法在 map 上工作时遇到问题,我发现我应该使用 onActivityCreated() 方法,但是一旦我开始处理它,它开始给我以下错误:不可转换类型,无法将 android.app.Fragment 转换为 com.google.android.gms.maps.SupportMapFragment。在下面的代码行中:mapFragment = (SupportMapFragment) fm.findFragmentById(R.id.map); 也给了我第二个错误:Wrong 2nd argument type, Found: com. google.android.gms.maps.SupportMapFragment 必需:android.app.Fragment 在以下代码行中:fm.beginTransaction().replace(R.id.map , mapFragment).commit();.很遗憾,我无法找到此问题的答案或解决方案,非常感谢您的帮助。

这是我的 map 所在 fragment 的完整代码:

package demo.mapas;

import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
//import android.support.v4.app.FragmentManager;
import android.app.FragmentManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.usuario.mapas.R;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;

/**
* Created by USUARIO on 3/12/2016.
*/
public class opcion1Fragment extends Fragment {
private SupportMapFragment mapFragment;




@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_option1, container, false);

return rootView;

}

@Override

public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);

FragmentManager fm = getChildFragmentManager();
mapFragment = (SupportMapFragment) fm.findFragmentById(R.id.map);
if(mapFragment == null){
mapFragment = SupportMapFragment.newInstance();
fm.beginTransaction().replace(R.id.map, mapFragment).commit();
} else {
mapFragment.getMapAsync(new OnMapReadyCallback() {

@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);

}
});
}
}

}

最佳答案

您的 opcion1Fragment 是从 android.app.Fragment; 扩展而来的。但是您需要使用 android.support.v4.app 中的类。所以你需要:

  1. 将您的导入从:import android.app.Fragment; 更改为 import android.support.v4.app.Fragment;
  2. 将您的导入从 import android.app.FragmentManager; 更改为 import android.support.v4.app.FragmentManager;

您的问题将得到解决。

希望这对您有所帮助!

关于android - 不可转换类型;无法转换 android.app.fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36144370/

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