我正在使用片段兼容性包。
在我的 onAttach 片段中,我保留了一个Context
参考。
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.w(logTag, "Activity is: " + activity);
mContext = activity;
Log.w(logTag, "mContext is: " + mContext); // <-- Breakpoint here
}
稍后,我使用上下文
private String loadExampleSuccessXML () {
try {
AssetManager assets = this.mContext.getAssets(); // <-- Breakpoint here
//Other Stuff
当我改变方向时, onAttach 似乎存储了新的 Context 但是当我到达时loadExampleSuccessXML
,mContext
为空。
mContext
保存在 onAttach 和 at后我有断点mContext.getAsssets()
。
当我第一次运行应用程序时,调试器会显示 mContext 的值:
在onAttach(), mContext [MyActivity] (id=830010419632)
在loadExampleSuccessXML(), mContext [MyActivity] (id=830010419632)
但是在配置更改之后
在onAttach(), mContext [MyActivity] (id=830010565472)
在loadExampleSuccessXML(), mContext null
我不明白为什么。任何帮助都会很棒。