Android SupportMapFragmentManager未解析
我正在尝试在片段内创建SupportMapFragment..出现以下错误:Android SupportMapFragmentManager未解析,android,android-fragments,supportmapfragment,Android,Android Fragments,Supportmapfragment,我正在尝试在片段内创建SupportMapFragment..出现以下错误: 类型MapFragment的方法SupportFragmentManager()未定义 我的代码如下: import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.GoogleMap; import android.os.Bundle; import android.support.v4.app.Fr
类型MapFragment的方法SupportFragmentManager()未定义
我的代码如下:
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.GoogleMap;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
public class MapFragment extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.fragment_map_view, container, false);
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
DateTimeFragment datetime=new DateTimeFragment();
ft.add(R.id.datetime_container_map, datetime);
SupportMapFragment mapFragment = (SupportMapFragment)SupportFragmentManager().findFragmentById(R.id.map_fragment);
return v;
}
}
但是,SupportMapFragmentManager无法解析。这个问题的解决方案是什么?除了kalyan pvs的答案之外,您的代码是错误的,应该如下所示:
SupportMapFragment mapFragment = (SupportMapFragment)getFragmentManager().findFragmentById(R.id.map_fragment);
在您的问题中,您使用的方法SupportFragmentManager()
并不存在。
方法getSupportFragmentManager
在片段中不可用,但getFragmentManager
将起作用。
我猜这是因为您的类已经扩展了Fragment的支持版本,因此getFragmentManager
将自动返回FragmentManager的支持版本 用Commonware检查这两个答案,看是否有与您类似的问题。检查并确认
另外,确保在Properties->Java Build Path->Order and Export下检查了Android私有库。然后清理项目并检查问题是否得到解决。是否添加了support v4库?我添加了以下内容:import android.support.v4.app.Fragment;导入android.support.v4.app.FragmentManager;导入android.support.v4.app.FragmentTransaction;事实上,com.google.android.gms.maps.SupportMapFragmenthi,正如您在我编辑的代码中看到的那样,我已经完成了这项工作。我之前已经导入了这个库。当我扩展FragmentActivity时,SupportMapFragmentActivity正在工作。但我希望将映射放在片段中。这就是为什么我将其更改为extends FragmentHi,实际上我已经完成了mapFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.mapFragment);在另一个扩展FragmentActivity的类中。而且它工作得非常好。然而,当我做扩展片段时,它不起作用。我把它改成了你的建议,它解决了我的答案有点改变。只要使用getFragmentManager,您就会没事的。