android– 在ViewPager中调用片段上的方法

android– 在ViewPager中调用片段上的方法,第1张

概述我想做的就是调用Fragment类的函数.但我似乎无法找到一种方法来访问ViewPager中我的片段的实例.我的活动的xml:<android.support.v4.view.ViewPagerxmlns:android="http://schemas.android.com/apkes/android"xmlns:tools="http://schemas.android.comools"androi

我想做的就是调用Fragment类的函数.但我似乎无法找到一种方法来访问VIEwPager中我的片段的实例.

我的活动的xml:

<androID.support.v4.vIEw.VIEwPager xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:tools="http://schemas.androID.com/tools"    androID:ID="@+ID/pager"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    tools:context=".MainActivity" />

没有,所以我不能调用findFragmentByID()(可以吗?)
另外我不知道给findFragmentByTag()提供什么,它总是返回null:/

解决方法:

但是,pagerAdapter.getItem(int)方法通常会创建片段的新实例,因此您可以使用HashMap存储对现有片段的引用.

// VIEwPagerAdapterprivate HashMap<Integer, Fragment> fragmentHashMap = new HashMap<>();@OverrIDepublic Fragment getItem(int position) {    if (fragmentHashMap.get(position) != null) {        return fragmentHashMap.get(position);    }    TabFragment tabFragment = new TabFragment();    fragmentHashMap.put(position, tabFragment);    return tabFragment;}

然后你可以找到你的片段来调用它的方法

FragmentAdapter fa = (FragmentAdapter)vIEwPager.getAdapter();TabFragment theFragment = (TabFragment)fa.getItem(index);theFragment.customMethod(Object obj);

您必须跟踪哪个片段与哪个索引一起使用,因为您将它们转换为特定的类以访问其方法.

总结

以上是内存溢出为你收集整理的android – 在ViewPager中调用片段上的方法全部内容,希望文章能够帮你解决android – 在ViewPager中调用片段上的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存