当我在其中一个片段上时,我在一个活动中调用一个方法,然后在我所在的同一个片段中返回activity的结果,但令人惊讶的是它给出了错误,说片段尚未添加。我打印了isAttached和isDetached方法值及其true和false。 getContext也返回null。这怎么可能?
在调用方法之前,这些方法调用返回预期值。
Fragment.class
public class myFragment extends Fragment{
@Override
public void onDialogInteraction(String value) {
super.onDialogInteraction(value);
Log.d(TAG, "onDialogInteraction: value "+value);//prints correct value
Log.d(TAG, "onDialogInteraction: iaAdded "+isAdded()); false
Log.d(TAG, "onDialogInteraction: isAttahced "+isAttached());true
Log.d(TAG, "onDialogInteraction: isDetached "+isDetached());false
Log.d(TAG, "onDialogInteraction: isDetached "+getContext());null
}
}
public class MyActivity extends AppcompatActivity{
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
String value = getValue(intent);
myFragmentInstance.onDialogInteraction(value);
}
}