Android 对话框关闭后更新UI

Android 对话框关闭后更新UI,android,android-lifecycle,Android,Android Lifecycle,我有一个活动A,它有一个带有自定义适配器的ListView 自定义适配器(适用于每个列表视图项)有一个按钮,用于调用自定义对话框 在此对话框中,正在执行一个操作,作为响应,我希望调用活动A上的UI更新 这是我在简历代码上的活动: @Override public void onResume() { super.onResume(); setUI(); } 但是当我打电话的时候 dialog.dismiss(); 对话框在未调用OnResume方法benig的情况下关闭

我有一个活动A,它有一个带有自定义适配器的ListView

自定义适配器(适用于每个列表视图项)有一个按钮,用于调用自定义对话框

在此对话框中,正在执行一个操作,作为响应,我希望调用活动A上的UI更新

这是我在简历代码上的活动:

@Override
public void onResume() 
{
    super.onResume();
    setUI();  
}
但是当我打电话的时候

dialog.dismiss();
对话框在未调用OnResume方法benig的情况下关闭


如何捕获和更新活动ui?

您可以在对话框中设置一个
OnDismissListener
,以实现以下目的:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setOnDismissListener(listener);
...
Dialog dialog = builder.create();

您可以让Activity Improvement
DialogInterface.OnDismissListener
并将其设置为侦听器,以便在方法
onDismiss(DialogInterface dialog)
中通知他们。在那里,您可以更新您的UI。

事实上,这非常简单-您可以将适配器内的上下文转换为包含调用的活动:

ActivityName activity = (ActivityName )con;
activity.setUI();

您可以使用,但我的对话框在适配器类而不是活动类中,但我的对话框在适配器类而不是活动类中。好的,它不一定是您的活动,您也可以让适配器实现OnDismissListener并将其添加为侦听器。请记住,这需要最低API级别17。。检查此其他解决方案是否低于17个API级别。。最好使用回调/侦听器