AndroidDev 板


LINE

大家好 我用ViewPager和Fragment做了一个可以切换页面的功能 并实作FragmentStatePagerAdapter作为我的adapter 现在我的主要Activity会带包含5个Fragment 我现在在我的Activity的页面放置了一个按钮 目的想要同时取得5个Fragment里的内容 现在我在第一页 要同时取得五页全部的值时 发现若是Fragment没有被显示到时 没有被实例化 所以没有显示到Fragment会变成null 後来查了FragmentStatePagerAdapter的运作方式 发现他只会保留当前页面和上下一页的Fragment 意思就是最多保存3个Fragment 我的解决办法是在 destroyItem里把他 remove(positon) 和 super.destroyItem(container, position, object)的方法解掉不 让他执行 这样似乎把没有包含在当前页面的Fragment会被销毁的问题解决了 但是若是一开始 我没有把全部的页面划过一次(让他被实例化) 我还是会遇到Fragment是null的状况 所以我就用了很笨的方式 再取这五页的值时 把五页都用程式跑一次 viewPager.setCurrentItem(0); fragment_0 = adapter.getRegisteredFragment(0); viewPager.setCurrentItem(1); fragment_1 = adapter.getRegisteredFragment(1); viewPager.setCurrentItem(2); fragment_2 = adapter.getRegisteredFragment(2); viewPager.setCurrentItem(3); fragment_3 = adapter.getRegisteredFragment(3); viewPager.setCurrentItem(4); fragment_4 = adapter.getRegisteredFragment(4); 可是这不是解决方式 请问有解决方法吗? 另外 我要如何在各个fragment里做连动 ex 我在fragment_0里设定fragment_1的值 我尝试在我在fragment_0里取得fragment_1的物件 再用fragment_1取得他所属的layout元件去设值 我用了取位置和取tag的方法 fragment_1 = adapter.getRegisteredFragment(0); fragment_1 = getActivity().getSupportFragmentManager().findFragmentByTag(tag); 但都失败 fragment_1一直取不到 google了很多网路上的方法 好像都没有碰到有人有跟我同样的问题 有人能解答吗? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.11.241
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1481880244.A.CA0.html
1F:→ ssccg: 你可以事先把所有fragment自己产生好,加进fragmentmanager 12/16 19:55
2F:→ ssccg: adapter里面getItem改成从fragmentmanager找就好 12/16 19:55
3F:→ ssccg: 至於取不到...用tag没有取不到过,当然tag是加进去时自设的 12/16 19:56
4F:→ beyondthe: setOffScreenPageLimit()可以设定保留的画面数量 12/17 02:44
5F:→ aids61517: 先把Fragment产生好,然後放进ArrayList里,getItem 12/17 10:58
6F:→ aids61517: 再取ArrayList里的东西,这样应该够简单了 12/17 10:58







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP