今日发现Fragment被隐藏后,不能在使用setArguments()传递,否则就会报java.lang.IllegalStateException
原文地址:http://blog.sina.com.cn/u/2477674394
java.lang.IllegalStateException: Fragment already active异常主要是使用setArguments()传递参数导致的。
在 Fragment 没有被添加到 FragmentManager 之前,我们可以通过 Fragment.setArguments() 来设置参数,并在 Fragment 中,使用 getArguments() 来取得参数。在 Fragment 被添加到 FragmentManager 后,一旦被使用,我们再次调用 setArguments() 将会导致 java.lang.IllegalStateException: Fragment already active 异常。
解决方法:可以使用setter和getter方法进行数据的存储和获取。
相关推荐
在Java中,`IllegalStateException`是`java.lang`包下的一个运行时异常。它是由执行了非法操作(例如,线程已经启动后尝试启动,或者在没有正确设置某些必需状态的情况下调用方法)的代码引发的。这个异常通常伴随着...
在Android开发过程中,Java异常`java.lang.IllegalStateException`是一个常见的错误类型,它通常表示程序在不合法或者不合适的状态下尝试执行某项操作。在上述描述中提到了两种特定的`IllegalStateException`情况: ...
- 在添加Fragment时可能会遇到`java.lang.IllegalStateException`,通常是因为没有正确地处理Activity和Fragment的生命周期。 综上所述,Fragment动态添加是Android开发中的重要技能,能够帮助开发者构建更复杂、...
java.lang.IllegalStateException: Fragment did not create a view. ``` **原因分析**: 在Fragment生命周期的`onCreateView`方法中未正确创建视图。 **解决方案**: 确保在`onCreateView`方法中返回非空的`View`...
**问题1:在Fragment中嵌套子Fragment导致的`java.lang.IllegalStateException: No activity`异常** 当我们在一个Fragment中添加或管理其他子Fragment时,通常会使用`ChildFragmentManager`。这种情况下,可能会...