2014-06-19 76 views
1

我有活動A,它具有帶自定義適配器的ListView。解除對話框後更新UI

自定義適配器(適用於每個列表視圖項目)具有調用自定義對話框的按鈕。

在此對話框中正在執行的操作,其響應我要調用上的活動A.

UI更新

這是我的簡歷上的活動代碼:

@Override 
public void onResume() 
{ 
    super.onResume(); 
    setUI(); 
} 

但是當我打電話

dialog.dismiss(); 

該對話框關閉時沒有活動調用一個OnResume方法benig。

我該如何捕獲和更新活動ui?

+0

您可以使用[onDismmiss()](http://stackoverflow.com/questions/18830899/ android-wait-for-user-input-at-alertdialog-to-proceed /18831531#18831531) – codeMagic

+0

但是我的對話框是在適配器類中而不是活動類 –

回答

-2

其實它很容易 - 你可以施放背景下的適配器裏面含有活性電話:

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

它更好地使用回調/偵聽器 – Linxy

5

您可以設置OnDismissListener到您的對話框來實現這一目標:

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

你可以讓你的活動教學貫徹DialogInterface.OnDismissListener並將其設置爲監聽器,使他們獲得在法onDismiss(DialogInterface dialog)通知。在那裏,你可以更新你的用戶界面。

+0

但我的對話框在適配器類內而不是活動類 –

+0

那麼,它不一定是您的活動,您還可以讓您的適配器實施OnDismissListener並將其添加爲偵聽器。 – tknell

+0

請記住,這需要一個最小API級別17 ..檢查此其他解決方案低於17 API級別.. http://stackoverflow.com/questions/13933077/android-setondismisslistern-for-api-lower-than-17 – json001