[quote]
如果你喜欢使用Fragment,一定要清楚这些方法,哪个会销毁视图,哪个会销毁实例,哪个仅仅只是隐藏,这样才能更好的使用它们。
a、比如:我在FragmentA中的EditText填了一些数据,当切换到FragmentB时,如果希望会到A还能看到数据,则适合你的就是hide和show;也就是说,希望保留用户操作的面板,你可以使用hide和show,当然了不要使劲在那new实例,进行下非null判断。
b、再比如:我不希望保留用户操作,你可以使用remove(),然后add();或者使用replace()这个和remove,add是相同的效果。
c、remove和detach有一点细微的区别,在不考虑回退栈的情况下,remove会销毁整个Fragment实例,而detach则只是销毁其视图结构,实例并不会被销毁。那么二者怎么取舍使用呢?如果你的当前Activity一直存在,那么在不希望保留用户操作的时候,你可以优先使用detach。
[/quote]
高手的文章:
http://blog.youkuaiyun.com/lmj623565791/article/details/37970961
http://blog.youkuaiyun.com/lmj623565791/article/details/37992017
http://blog.youkuaiyun.com/weihan1314/article/details/7997421#comments
如果你喜欢使用Fragment,一定要清楚这些方法,哪个会销毁视图,哪个会销毁实例,哪个仅仅只是隐藏,这样才能更好的使用它们。
a、比如:我在FragmentA中的EditText填了一些数据,当切换到FragmentB时,如果希望会到A还能看到数据,则适合你的就是hide和show;也就是说,希望保留用户操作的面板,你可以使用hide和show,当然了不要使劲在那new实例,进行下非null判断。
b、再比如:我不希望保留用户操作,你可以使用remove(),然后add();或者使用replace()这个和remove,add是相同的效果。
c、remove和detach有一点细微的区别,在不考虑回退栈的情况下,remove会销毁整个Fragment实例,而detach则只是销毁其视图结构,实例并不会被销毁。那么二者怎么取舍使用呢?如果你的当前Activity一直存在,那么在不希望保留用户操作的时候,你可以优先使用detach。
[/quote]
高手的文章:
http://blog.youkuaiyun.com/lmj623565791/article/details/37970961
http://blog.youkuaiyun.com/lmj623565791/article/details/37992017
http://blog.youkuaiyun.com/weihan1314/article/details/7997421#comments
本文详细解析了在使用Fragment时如何通过hide、show、remove和detach方法来控制用户界面,确保用户操作的保留与隐藏。通过具体实例说明了在不同场景下选择合适的方法,帮助开发者更高效地管理Fragment。
451

被折叠的 条评论
为什么被折叠?



