方向更改后,片段中的getActivity()为null

Tom*_*ary 7 android fragment orientation android-fragments android-activity

我有一个startActivityForResult,片段和方向更改的问题.

我从一个片段调用startActivityForResult(),然后打开附加了片段的第二个活动.在第二个活动中,当我改变方向并返回第一个活动时,则调用onActivityResult(fragment方法).但是有一个问题,因为我有这样的事情:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    getActivity(); //here's a problem because 
    //getActivity is null but only after orientation change on second activity 
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*ary -2

所有的问题是我没有在 XML 中为片段声明 android:id 。Android 需要 ID 或 TAG 来识别存储的片段并重现其中的所有元素。所以伙计们,请记住 - 每个片段实例都需要唯一的 ID 或标签!