簡體   English   中英

Activity 調用 onCreate 返回

[英]Activity calls onCreate on Back

我有一個名為 A 的活動,活動 A 上的一些事件調用活動 B。現在,當我在活動 B 中使用向上導航時,它會返回到活動 A,但也會調用 onCreate 方法。 如果我在后面使用硬件/軟鍵,它不會調用 onCreate 而只是返回到它離開的 Activity A。 如何使向上導航的行為方式相同?

我的 onCreate 異步進行網絡調用。 撥打另一個電話只會浪費數據和時間。 這是我用來從活動 A 啟動活動 B 的代碼。

Intent intent = new Intent(MainActivity.this, newsIndexActivity.class);
                    intent.putExtra("CityName", cityName.getText());
                    startActivity(intent);

向上和向后導航是不一樣的,如果你想讓你的向上導航按鈕表現得像后退按鈕,你應該做這樣的事情

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            this.finish();
            return true; 
    }
    return super.onOptionsItemSelected(item);
}

如果可能,您應該查看此鏈接:

在那里您可以獲得更多關於此的信息。

通過將父活動的 launchMode 聲明為 singleTop,我們可以防止系統在每次按下 Up 時創建新活動。

沒有任何代碼似乎很難解決,但最可能的原因是您正在調用startActivity 只需使用finish()關閉您當前的活動並使用 backstack 它應該按預期運行。

只需在按鈕回調偵聽器中調用 finish() 或 onBackPressed() 方法。

finish();
super.onBackPressed();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM