首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在片段中访问getSupportFragmentManager()?

如何在片段中访问getSupportFragmentManager()?
EN

Stack Overflow用户
提问于 2013-11-27 16:44:48
回答 19查看 275.9K关注 0票数 180

我有一个FragmentActivity,我想在其中使用一个映射片段。我在获取支持片段管理器访问它时遇到了问题。

代码语言:javascript
复制
 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);
EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2013-11-27 16:51:38

您可以直接调用

代码语言:javascript
复制
getFragmentManager() 

来获取片段管理器。

在你的片段中,

创建字段:

代码语言:javascript
复制
private FragmentActivity myContext;

覆盖片段的onAttach方法:

代码语言:javascript
复制
@Override
public void onAttach(Activity activity) {
    myContext=(FragmentActivity) activity;
    super.onAttach(activity);
}

当您需要获取支持片段管理器调用时:

代码语言:javascript
复制
FragmentManager fragManager = myContext.getSupportFragmentManager(); //If using fragments from support v4

代码语言:javascript
复制
FragmentManager fragManager = myContext.getFragmentManager();

你的任务完成了。

票数 300
EN

Stack Overflow用户

发布于 2013-11-27 17:00:14

您所需要做的就是使用

代码语言:javascript
复制
getFragmentManager()

方法在您的片段上。当您在添加此片段时使用它时,它将为您提供支持片段管理器。

Fragment Documentation

票数 86
EN

Stack Overflow用户

发布于 2017-09-21 16:26:09

Kotlin用户尝试这个答案

代码语言:javascript
复制
(activity as AppCompatActivity).supportFragmentManager
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20237531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档