如何從兒童活動中按下後退按鈕後檢測活動是否成爲焦點,以及當時如何執行某些代碼?如何檢測是否從兒童活動中回來?
回答
您正在尋找的方法可能是您可以在母類中實現的onResume方法;)。您必須知道,onResume也稱爲第一次啓動任何活動。看一個活動的生命週期:http://developer.android.com/images/activity_lifecycle.png
問候,
那麼如果在onResume上有什麼功能更新?在Activity第一次啓動/配置更改時,即使它不是有意的,也會調用更新。 –
此答案有幫助嗎?當母親活動第一次啓動時,以及當您通過按下子活動的後退按鈕返回時,都會調用onResume()。那麼你應該如何檢測差異? – LarsH
一種可能性是從startActivityForResult()
開始您的兒童活動並實施onActivityResult()
,當您從兒童活動返回時將會調用它。
JS的答案是正確的,但這裏是一些調試代碼。
聲明請求代碼爲常數,在您的活動的頂部:
public static final int OPEN_NEW_ACTIVITY = 123456;
將這個你開始新的活動:
Intent intent = new Intent(this, NewActivity.class);
startActivityForResult(intent, OPEN_NEW_ACTIVITY);
做一些活動時結束。文檔建議您使用resultCode
,但根據具體情況,按下按鈕時,結果可以是RESULT_OK
或RESULT_CANCELED
。所以我會放棄它。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OPEN_NEW_ACTIVITY) {
// Execute your code on back here
// ....
}
}
出於某種原因,我把這個在片段時遇到了麻煩。所以你必須把它放在活動中。
您也可以重寫onBackPressed()方法和onOptionsItemSelected()方法,並在其中放置一些邏輯。例如,我把我的BaseActivity,所有其他活動擴展從這:
@Override
public void onBackPressed() {
// your logic
super.onBackPressed();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// your logic
}
return super.onOptionsItemSelected(item);
}
- 1. 如何從兒童活動中返回家庭活動?
- 2. 檢查兒童recyclerview是否回收
- 3. 如何更新從活動兒童
- 4. XPath來檢測兒童是否被交錯
- 5. ExpandableListView兒童活動
- 6. Android,如何檢測該活動是否來自其他活動?
- 7. 如何從兒童活動加載更快的父活動?
- 8. 如何在完成/停止兒童活動的情況下從兒童活動完成父母活動?
- 9. 查找來自兒童活動的來電者活動
- 10. 如何檢測兒童的變化
- 11. 如何檢測兒童請求?
- 12. 如何摺疊「兒童活動」?
- 13. 如何在活動組中獲得兒童活動?
- 14. 如何在兒童活動中獲取姓名父活動
- 15. ItemsControl兒童活動WPF C#
- 16. 是否可以安排動態創建的兒童活動
- 17. 兒童活動繼承父活動
- 18. 如何檢查兒童中的數據,在Firebase中的兒童
- 19. 如何從兒童
- 20. 從任何其他兒童活動回到父活動而不重新加載
- 21. 如何從兒童活動中更改TabActivity的視圖
- 22. 如何檢查Firebase中是否存在兒童?
- 23. 如何傾聽來自容器兒童的派遣活動?
- 24. 如何在按下返回鍵時從兒童活動中獲取數據?
- 25. Android:將數據傳遞給兒童活動,檢測誰是父母
- 26. 如何更新父活動的兒童活動返回列表視圖
- 27. 如何暫停父活動,直到兒童活動完成
- 28. 如何檢測兒童大小更改動作?
- 29. 在兒童活動中顯示DialogFragment Android
- 30. 從兒童活動傳遞數據到主要活動
把你的邏輯中的onResume()你的父母的活動。所以一旦U從你的孩子回來,它會執行。 –