说来惭愧,在开始的时候,我就进入了所谓的误区,直到今天才明白。
那么,所谓的误区是什么?
你认为,FragmentTransaction中储存的是什么?
一开始,我以为里面存放的,是上一个Fragment。
现在才知道里面放着的,其实,是一系列对框架的操作。
为什么?
可以根据添加到回退栈的方法进行回推。
我们通常都是通过以下的方式进行存如回退栈:
FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); transaction.add(R.id.fragment_container, new Fragment2()); transaction.addToBackStack(null); transaction.commit();
addToBackStack()方法的调用都是在transaction添加动作之后commit()之前。
如果存入的一个框架,那么为什么不可以在添加动作之前就进行移入栈呢?
因此,存入在栈中的其实是一系列对框架的操作。
-----------------------------------------------------------------------------------------------不喜勿喷,欢迎讨论
时间: 2024-10-03 07:39:26