我有一个从服务接收整数的活动。当接收到某个Integer时,该活动将调用一个对话框并显示一个对话框。当活动处于前台时,我的应用程序工作得很好。当它处于后台时,例如被暂停,并且服务发送一个整数,该整数将导致一个对话框片段出现,我将得到一个异常。
IllegalStateException: Can not perform this action after onSaveInstanceState
我知道这是因为活动暂停了,试图调用对话框片段会导致状态丢失。如何才能使我的应用程序不崩溃,但仍然显示活动和对话框时,它被重新打开?
我使用一个处理程序接收来自服务的Integer
if (msg.ar
我的结构如下:
在UIActivity1中:
MyMyProgressDialogFragment progressDialog = MyMyProgressDialogFragment.newInstance();
progressDialog.show(getFragmentManager(),"dialog");
getFragmentManager().executePendingTransactions();
..do some heavy work and send messages to progressDialog
创建DialogFragment,这个片段中的
我有一个在Fragment和DialogFragment中使用的ViewModel。在对话框片段中,我尝试更新对话框片段中MutableLiveData值,然后在我的片段中使用来自MutableLiveData的值。当我签入对话框片段时,我在MutableLiveData中有数据,但是当我试图访问片段中的数据时,我得到了null。可以指导我如何解决这个问题吗?
在ViewModel中:
val width = MutableLiveData<String>()
val height = MutableLiveData<String>()
val length = Mut