2 wangbin learn wangbin_learn 于 2016.03.11 16:42 提问

加载fragment报错。求解。

图片说明

今天看洪阳大神的EventBus,跟大神的代码一样,他的代码能运行我的就一运行就报上面这个错,第一个fragment都加载进来了,为什么到第二个就异常了呢?有大神知道为什么吗?求解,谢谢了。

3个回答

qq_29614465
qq_29614465   2016.03.11 17:20

你在第二个fragment外面套一个FrameLayout再试试

wangbin_learn
wangbin_learn 没有讽刺的意思,就是想知道什么原因造成的,你不知道也没什么的。我开始没有动态添加,最后用了你的方法和动态添加两种方法,然后就都可以解决了。
接近 2 年之前 回复
qq_29614465
qq_29614465 回复wangbin_learn: 其实挺有意思,我是以为你觉得我的回答特别荒谬,然后讽刺我一下。哈哈。其实我猜到你是在做动态添加。它就是用的replace替换FrameLayout里面的内容。我也是之前在书中看到的,如果再要有什么深层次的理由,我就不知道了,书上也没写
接近 2 年之前 回复
wangbin_learn
wangbin_learn 回复我梦醒九分: 还是它真的就好了?什么意思啊?
接近 2 年之前 回复
qq_29614465
qq_29614465 回复wangbin_learn: 嗯?我怎么懵了,你这是挖苦我,还是它真的就好了?
接近 2 年之前 回复
wangbin_learn
wangbin_learn 包层FrameLayout就好了,请问大神这是怎么回事呢?
接近 2 年之前 回复
wangbin_learn
wangbin_learn   2016.03.11 17:35

已经解决了,两种办法,一个是上面那个大神说的外面包层FrameLayout,另外一种是 --> ItemDetailFragment fragment = new ItemDetailFragment();getSupportFragmentManager().beginTransaction().add(R.id.fragment2,fragment).show(fragment).commit(); 将你需要的fragment直接new出来,第二个布局改为FrameLayout,然后使用事物去给他动态的添加一下。有需要的可以参考。

crazy1235
crazy1235   Ds   Rxr 2016.03.12 21:42

你没有给这个fragment标签添加**id**或者**tag**

wangbin_learn
wangbin_learn 之前有ID的时间也是报这个错,可能后来我试验各种方法时,不小心把ID删了没注意到吧。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!