草庐IT

android - findFragmentByTag - 在 FragmentTabHost 中寻找 fragment - 始终为 null

coder 2023-12-07 原文

我在获取指向 Fragment 的指针时遇到问题,该 Fragment 是 FragmentTabhost 中当前可见的 fragment 。

我有一个名为 SecondActivitySherlockFragmentActivity,它从它的 onCreate 方法加载 Tabhost,如下所示:

if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
    Fragment f = new TabsFragment();

    getSupportFragmentManager().beginTransaction().add(android.R.id.content, f, "tabsfragment").commit();
}

TabsFragment 是一个 SherlockFragment 子类,使用此 onCreate 方法创建选项卡

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        mTabHost = new FragmentTabHost(getActivity());
        mTabHost.setup(getActivity(), getChildFragmentManager(), R.layout.tabs);

        mTabHost.addTab(mTabHost.newTabSpec("Tab1").setIndicator("Offers",
                getResources().getDrawable(R.drawable.offersale)),
                OfferListFragment.class,
                null);

        mTabHost.addTab(mTabHost.newTabSpec("Tab2").setIndicator("News",
                getResources().getDrawable(R.drawable.newspaper)),
                NewsFragment.class,
                null);

        return mTabHost;

    }

现在,当我在第二个选项卡中时,我在由原始 Activity SecondActivity 启动的类中完成了一个后台任务,然后我调用它应该给我一个引用到选项卡,但它始终返回 null!

NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");

delegate 变量是在启动后台类时返回到 SecondActivity 的指针。

如何获得指向选项卡 fragment 的指针? 添加选项卡时设置的“Tab2”是 fragment 的 Tag 我错了吗?

最佳答案

我不太喜欢回答自己的问题,但睡在上面的效果真是太神奇了。 这个怪物给了我一个指向 tabhost 中 fragment 的指针

NewsFragment newsView = (NewsFragment) delegate
                        .getSupportFragmentManager()
                        .findFragmentByTag("tabsfragment")
                        .getChildFragmentManager()
                        .findFragmentByTag("Tab2");

关于android - findFragmentByTag - 在 FragmentTabHost 中寻找 fragment - 始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16616495/

有关android - findFragmentByTag - 在 FragmentTabHost 中寻找 fragment - 始终为 null的更多相关文章

  1. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  2. "\0"null 的 Ruby 测试? - 2

    我在破坏脚本的字符串中出现了一些奇怪的字符。据我所知,通过putbadstring到控制台,它们是"\0\0\0\0"。我想对此进行测试,以便我可以忽略它们...但是如何呢?以为这就是blank?和empty?的用途?!?:>badstring="\0"=>"\u0000">badstring.blank?NoMethodError:undefinedmethod`blank?'for"\u0000":Stringfrom(irb):97from/Users/meltemi/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in`'>badstring.em

  3. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  4. ruby - 寻找纯 Ruby 的图像处理库 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我找到的大多数库/代码都是针对RoR而不是纯ruby​​。即使我在谷歌上搜索纯ruby​​图片上传,我也会得到PureRubyOnRails;)所以...我正在寻找一个gem/library/code来做一些简单的事情:检查它是否是一个有效的图像文件将图像调整为预定义的值将其保存为jpg(来自jpeg、jpg、png、gif、bmp)

  5. ruby-on-rails - 将没有默认值的 NOT NULL 字段添加到填充的数据库中 - 2

    我有一个表,我们称它为MyTable。它是Postgresql数据库的一部分。MyTable中有很多条目,比方说超过一百万。我想向该表中添加一个字段,我们将其命名为MyNewField。它由ActiveRecord迁移添加。此字段没有默认值且不可为空。结果,在它的迁移类中将是这样的:classAddMyFieldToMyTable但是,它会触发一个错误(PG::NotNullViolation),因为该表已经包含行,所有这些行的MyField都设置为NULL。我想做的是:添加没有默认值且可空设置为false的行(不触发PG::NotNullViolation)。然后,将另一个表中的值插

  6. ruby - 寻找产品和商店的最佳组合以最小化成本的算法 - 2

    你好,Stackoverflow的人们,我经营一个网站,为用户寻找最便宜的书籍购买地点。这对于单本书来说很容易,但对于多本书来说,有时在一家商店购买一本书而在另一家商店购买另一本书会更便宜。目前我找到了销售用户列表中所有书籍的最便宜的商店,但我想要一个更智能的系统。这里有更多信息:一本书的价格对于一家商店来说是不变的。运费可能会有所不同,具体取决于书籍的数量或书籍的总值(value)。每个商店对象都可以获取一组书籍并返回运费。通常,并非每家书店都出售每一本书。不确定在这里链接到我的站点是否很酷,但它列在我的用户配置文件中。我希望能够找到最便宜的商店和书籍组合。我担心这需要一种蛮力方法-

  7. ruby-on-rails - rails : replacing try with the Null Object Pattern - 2

    在我的大多数应用程序中,我都有一个current_user方法。为了避免像current_user.name这样的情况出现异常,其中current_user是nil,rails提供了try方法。这个问题是我需要记住在current_user可能是nil的地方使用try。我想使用NullObject模式来消除这种额外的开销。classNullUserdefmethod_missing(method_name,*args)nilendenddefcurrent_userreturnNullUser.newunlessUserSession.find@current_user||=UserS

  8. ruby - 如果 `self` 始终是 Ruby 中的隐含接收者,为什么 `self.puts` 不起作用? - 2

    在Ruby中,我的理解是self是任何裸方法调用的隐含接收者。然而:~:irb>>puts"foo"foo=>nil>>self.puts"foo"NoMethodError:privatemethod`puts'calledformain:Object这是什么原因?如果有任何帮助:>>method(:puts).owner=>Kernel 最佳答案 私有(private)方法不能有接收者我认为答案是这样的:Ruby强制方法隐私的方式是它不允许使用显式接收者调用私有(private)方法。一个例子:classBakerdefbake

  9. ruby-on-rails - 即使在编辑模式下,rails 嵌套形式始终为 "POST"?导致路由错误 - 2

    我正在开发一个应用程序有1个具有多对多关系的模块,它工作正常,我可以用嵌套形式创建我的“单元”,但是当我处于编辑状态时我遇到了1个问题,当我点击提交按钮时它抛出了一个错误。Noroutematches[POST]"/units/27"ithoughttheactionshouldbepatchinsteadofpost??iinspectthegeneratedhtmlinbrowsers,andicanseethereisahiddenfieldnamed"_method"with"patch"value.我用脚手架生成了这个模块单位模型classUnit:unitrentperio

  10. ruby-on-rails - MySql 上的 Rails 复选框存储为 null 或零 - 2

    在我的Rails应用程序中,我有一个项目列表(如任务列表),每个项目都有几个复选框来设置参数。当我提交表单时,选中的框在数据库中存储为零,未选中的存储为空。问题是:有办法配置吗?将数据存储在更传统的0或1上,因为我认为将null存储为false并将0存储为true有点令人困惑,特别是如果另一个应用程序(如C应用程序)需要读取数据。 最佳答案 假设您正在使用的属性是club_member,如“您是club_member吗?”。请注意,在Ruby/Rails中,它现在的工作方式是,ifmodel.club_member如果未选中(值为n

随机推荐