在我的應用程序中,我有一個名爲activity_menu的xml佈局,它是應用程序首次加載的內容。在此我有一個按鈕,將內容視圖設置爲擴展視圖的GameView類。從這裏我想能夠按下android後退按鈕並返回到activity_layout,但是目前該應用剛剛關閉。我該如何解決這個問題?從自定義佈局活動中按回按鈕關閉應用程序,而不是返回到前一屏幕
回答
你可以這樣做。首先你聽用戶按onBackPressed
按鈕。然後,當用戶按下後退按鈕,您將檢查gameView可見或不可見,如果是可見的,你應該隱藏它沒有完成的Activity
@Override
public void onBackPressed() {
if(//gameView is visible){
// hide gameview without finish Activity
}else{
super.onBackPressed();
}
}
嗨耶我看到的大部分事情似乎是建議類似,但我似乎無法使用onBackPressed()在我的gameView類,因爲它不承認 – JCH1530
重寫'onBackPressed()'內包含gameview的活動 –
隨着後退按鈕導航到以前的活動......據是我讓你的應用程式gameView是一樣的活動所以以前是你的主屏幕:
您可以覆蓋在你的活動中onBackPress()方法:
@Override
void onBackPress(){
if(contentView is gameview){
-> back to activity layout
}else{
super.onBackPress()
}
}
更新:
要檢查您的gameView啓用,如果你有隱藏工作,你可以使用一個簡單的布爾標誌,或者gameview的公開程度和取消隱藏
我覺得你有拖活動:MenuActivity(第一項活動)和GameActivity(第二活動),對嗎? 在這種情況下,您應該在跳到GameActivity時完成MenuActivity。
代碼示例:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MenuActivity.this, GameActivity.class));
MenuActivity.this.finish();
}
});
- 1. 單擊按鈕而不是返回主活動後,應用程序關閉
- 2. 返回按鈕關閉應用程序,而不是在Windows Phone 8.1上返回
- 3. 關閉應用程序而不是返回到之前的活動
- 4. 在按下的硬件按鈕上關閉應用程序兩次返回到前一個活動
- 5. Android後退按鈕關閉應用程序,而不是前往活動
- 6. 當返回按鈕關閉活動時返回意圖結果
- 7. 返回按鈕不返回到先前的活動
- 8. 點擊設備返回按鈕關閉應用程序,而不是回到上一頁
- 9. 從活動而不是家長返回到主屏幕
- 10. 返回按鈕關閉的WebView應用
- 11. 添加自定義佈局到android應用程序的按鈕
- 12. 工具欄中的材料「關閉」按鈕而不是返回
- 13. 返回按鈕從第一個活動到第二個崩潰應用程序
- 14. 返回按鈕在片段中返回到主屏幕
- 15. ImageView按鈕關閉屏幕
- 16. 呈現自定義佈局而不是應用程序佈局
- 17. 旋轉屏幕關閉應用程序(而不是顯示橫向佈局)
- 18. 返回上一個佈局的按鈕
- 19. 當按下返回按鈕,發送一個值前一活動
- 20. 爲什麼按下活動按鈕後應用程序關閉?
- 21. 活動和返回按鈕
- 22. 導航控制器返回按鈕去前一個屏幕之前的屏幕
- 23. 按鈕在應用程序中返回
- 24. 後退按鈕重新啓動活動而不是返回
- 25. 舊屏幕從活動中獲取顯示當返回按鈕用於
- 26. 按鈕回到主屏幕不工作
- 27. iOS7自動將按鈕設置爲「返回」而不是前一屏幕的標題
- 28. 如何關閉setContentView或返回到之前的佈局膨脹屏幕?
- 29. Android - 動態按鈕關閉屏幕
- 30. Visual Basic窗體應用程序自定義關閉按鈕
您必須清除應用內活動的歷史或完成另一個活動開始時的最後一項活動。檢查這第一 –