我想在活動被銷燬時在視圖中進行一些清理。當活動被銷燬時,有沒有辦法在視圖中獲得回調?我嘗試使用onDetachedFromWindow
,但我不確定這是否是正確的事情。如何檢測視圖的父級活動是否被破壞
7
A
回答
1
瞭解到onDestroy並不保證被調用,您可以在活動onDestroy方法中回調您的視圖。
編輯迴應評論: 您可以通過在佈局中給它一個id並調用findViewById來獲得任何視圖。這裏有一個例子:
Layout.xml(只顯示了最低限度)
<LinearLayout>
<com.example.superwidget.DropDownTouchEnabledListView
android:id="@+id/special_list_view" />
</LinearLayout>
MyActivity.java(再次,裸最小的,假設適當進口)
@Override
void onDestroy() {
DownTouchEnabledListView v = (DownTouchEnabledListView)findViewById(R.id.special_list_view);
v.doCallback(with, parameters);
}
6
如果你想獲得一個回調,而不必過載View.onDetachedFromWindow()
方法,您可以使用View.addOnAttachStateChangeListener()
方法,該方法將回調監聽器作爲單個參數。
+1
僅適用於API> 12 – 2015-01-28 16:52:43
相關問題
- 1. 如何檢測圖像路徑是否被破壞?
- 2. Android - 告訴父母活動是否已被破壞
- 3. 活動被破壞?
- 4. 如何檢測Bash中符號鏈接是否被破壞?
- 5. Android:檢測視圖的父活動是否暫停
- 6. FragmentTabHost「活動已被破壞」
- 7. 活動已被破壞FragmentTransaction.commit()
- 8. java.lang.IllegalStateException:活動已被破壞
- 9. 等待活動被破壞
- 10. 活動不被破壞
- 11. Rails如何自動檢查鏈接是否被破壞?
- 12. 適配器上的檢測項目視圖已被破壞
- 13. 如何在其父活動被破壞時保持活動狀態
- 14. 如何檢測ViewController是否被激活?
- 15. jsonToRepJson是否被破壞?
- 16. 相機API調用破壞父活動
- 17. 破壞骨幹視圖是否會破壞它?
- 18. 拍照時被破壞的活動
- 19. Android的檢查,如果這個活動是不是null /破壞
- 20. 如何在活動破壞視圖時刪除withEndAction runnable?
- 21. 錯誤java.lang.IllegalStateException:活動已被破壞
- 22. java.lang.IllegalStateException:活動已被破壞SlidingFragmentActivity
- 23. java.lang.IllegalStateException:活動已被破壞異常
- 24. 在活動被破壞後運行Bindservice
- 25. 活動已被破壞在fragmenttransaction.commit
- 26. 異常java.lang.IllegalStateException:活動已被破壞
- 27. ChildFragmentManager java.lang.IllegalStateException:活動已被破壞
- 28. IllegalStateException活動已被破壞錯誤android
- 29. Android FragmentTransaction commit() - 活動已被破壞
- 30. 「活動已被破壞」與Robolectric
您能否詳細說明一下。我的自定義視圖類是單獨包的一部分,此視圖在佈局xml中定義。因此,從活動類中調用某些視圖是不可行的。 – bhups 2010-06-30 08:57:07
「因此,從活動類中調用某些視圖是不可行的。」就是這樣。調用'findViewById()',獲取小部件,將其轉換爲適當的類,然後調用它。這就是說,'onDetachedFromWindow()'似乎是對我來說合理的選擇。 – CommonsWare 2010-06-30 09:20:49
@CommonsWare你評論的速度比我可以編輯的更快。順便說一句,謝謝你所做的所有工作。你的書/代碼/答案對我來說是非常寶貴的。 – 2010-06-30 09:26:10