gpt4 book ai didi

java - 调用关闭时模态底部工作表不会重新显示

转载 作者:行者123 更新时间:2023-12-01 18:08:10 24 4
gpt4 key购买 nike

我在我的主要 Activity 中添加了一个模态底部工作表,以便在用户 GPS/互联网关闭时显示。我添加了一个 LocalBroadcast 接收器,用于在用户从手机打开 GPS/互联网时进行监听,效果很好。所以我需要当用户打开 GPS/互联网时隐藏模态底部工作表,当他关闭它时始终显示底部工作表。我已经尝试过 this它仅在应用程序的初始启动时起作用,即当假设 GPS 关闭时,当用户打开 GPS 时,会显示底部表单对话框,它会消失,但问题是在它第一次关闭后,当用户现在关闭 GPS 时,它会消失。未按预期显示,并且广播接收器被触发。这是我的广播接收器

 private BroadcastReceiver locationSwitchStateReceiver = new BroadcastReceiver() {

@Override
public void onReceive(Context context, Intent intent) {

if (android.location.LocationManager.PROVIDERS_CHANGED_ACTION.equals(intent.getAction())) {

validateGPSAndInternet();

}
}
};

最佳答案

您可以在 ConnectionBottomSheet 中声明静态变量,以在 fragment 外关闭底部工作表。

public class ConnectionBottomSheet extends BottomSheetDialogFragment {  

public static ConnectionBottomSheet fragment;
//your code

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
CON_TYPE = getArguments().getString(con_type);

}
fragment=this;
}
@Override
public void onDestroy() {
super.onDestroy()
fragment=null;
}
//your code
}

调用主要 Activity

 if(ConnectionBottomSheet.fragment!=null && ConnectionBottomSheet.fragment.getDialog()!=null)
ConnectionBottomSheet.fragment.getDialog().dismiss()

关于java - 调用关闭时模态底部工作表不会重新显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60520351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com