Android:如何在方向更改时关闭 DialogFragment?

问题描述 投票:0回答:3

我想在方向改变时取消

DialogFragment

问题是

OnConfigurationChanged()
永远不会被调用。

并致电:

this.dismiss();

onDetach()
方法中,返回空指针异常。我能做什么?

android android-dialogfragment dismiss orientation-changes
3个回答
5
投票

压倒一切:

public void onPause() {
    super.onPause();

    this.dismiss();
}

而不是OnConfigurationChanged(),成功了。


0
投票

onConfigurationChanged 没有被调用

将此添加到您的清单中

android:configChanges="orientation|screenSize"

0
投票

使用

onPause()
比配置更改更广泛,相反,您可以使用
onCreateView()
为新配置重新创建视图;在这种情况下
savedInstanceState
不会为空。

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    if (savedInstanceState != null) dismiss();
    return inflater.inflate(R.layout.dialog_view, container, false);
}
© www.soinside.com 2019 - 2024. All rights reserved.