我正在尝试在片段中创建一个SupportMapFragment ..我收到以下错误:
The method SupportFragmentManager() is undefined for the type MapFragment
我的代码如下:
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无法解析。这个问题的解决方案是什么?
答案 0 :(得分:0)
除了kalyan pvs的回答,你的代码错了,应该是这样的:
SupportMapFragment mapFragment = (SupportMapFragment)getFragmentManager().findFragmentById(R.id.map_fragment);
在您的问题中,您使用不存在的方法SupportFragmentManager()
。
方法getSupportFragmentManager
在片段中不可用,但getFragmentManager
将起作用。
我想这是因为你的类已经扩展了Fragment的支持版本,因此getFragmentManager
将自动返回FragmentManager的支持版本。
答案 1 :(得分:0)