如何访问getSupportFragmentManager()的片段? [英] How can I access getSupportFragmentManager() in a fragment?
本文介绍了如何访问getSupportFragmentManager()的片段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个FragmentActivity,我想在它使用的地图片段。我有得到支持片段管理器来访问它的一个问题。
如果(GoogleMap的== NULL){
GoogleMap的=((SupportMapFragment)getSupportFragmentManager()
.findFragmentById(R.id.map1))的GetMap()。 //检查是否映射成功与否创建
如果(GoogleMap的== NULL){
Toast.makeText(getApplicationContext(),
对不起!无法创建地图,Toast.LENGTH_SHORT)
。显示();
}
} //创建标记
的MarkerOptions标记=新的MarkerOptions()位置(
新的经纬度(纬度,经度))标题(你好图)。 CameraPosition cameraPosition =新CameraPosition.Builder()
。.TARGET(新经纬度(纬度,经度))变焦(15).build(); googleMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition)); //添加标记
googleMap.addMarker(标记);
解决方案
您可以直接拨打
getFragmentManager()
获得片段经理。
或
在您的片段,
创建域:
私人FragmentActivity myContext;
您片段覆盖onAttach方法:
@覆盖
公共无效onAttach(活动活动){
myContext =(FragmentActivity)活性;
super.onAttach(活动);
}
当你需要获得支持片段经理电话:
FragmentManager fragManager = myContext.getSupportFragmentManager(); //如果使用从支持V4片段
或
FragmentManager fragManager = myContext.getFragmentManager();
您完成了。
I have a FragmentActivity and I want to use a map fragment within it. I'm having a problem getting the support fragment manager to access it.
if (googleMap == null) {
googleMap = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map1)).getMap();
// check if map is created successfully or not
if (googleMap == null) {
Toast.makeText(getApplicationContext(),
"Sorry! unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
// create marker
MarkerOptions marker = new MarkerOptions().position(
new LatLng(latitude, longitude)).title("Hello Maps ");
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(latitude, longitude)).zoom(15).build();
googleMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
// adding marker
googleMap.addMarker(marker);
解决方案
You can directly call
getFragmentManager()
to get the fragment manager.
or
In your fragment,
Create field :
private FragmentActivity myContext;
override onAttach method of your fragment :
@Override
public void onAttach(Activity activity) {
myContext=(FragmentActivity) activity;
super.onAttach(activity);
}
When you need to get Support fragment manager call :
FragmentManager fragManager = myContext.getSupportFragmentManager(); //If using fragments from support v4
or
FragmentManager fragManager = myContext.getFragmentManager();
You are done.
这篇关于如何访问getSupportFragmentManager()的片段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文