我在Android中测试片段,我在片段生命周期中遇到了一些令人困惑的行为。我有一个使用xml格式的横向和纵向模式的活动。我有一些代码访问在其中一个片段布局中定义的EditText对象。如果我在横向模式下启动应用程序,则可以使用。我访问onResume()片段方法中的组件来更新一些文本。片段生命周期和onCreate在不存在片段上调用的问题
根据文档,当片段对用户可见时,将调用onResume()片段方法。但是,如果我旋转屏幕,即使未在纵向布局中定义此片段,也会再次调用此方法。对onCreate的这种调用会导致NullPointerException,因为此方法引用EditText对象。为什么onResume方法在不属于新布局的片段上调用?如何以及在哪里修改片段中的布局数据。我已经尝试onStart,onResume,onActivityCreated等,但似乎都返回相同的错误。
任何帮助将不胜感激。
是否onCreateView()也称为片段不是新布局的一部分?如果是这样,那么你可以确定你每次都在某个地方实例化这个片段。 –