SingleTask模式下使用Bundle傳值,傳值失敗分析!

關於Activity的四種啓動方式,就不用我多說了。

使用singleTask模式調用已經啓動過的Activity時,該Activity不會再去走OnCreate()。

而很多朋友都把Bundle取值放在onCreate()內處理,那當然現在也就取不到值了。

以下是取值示例。(注意!!這裏的 intent 是onNewIntent的傳參的那個intent,不是getIntent()獲取來的!)

@Override
protected void onNewIntent(Intent intent) {
    Bundle bundle = intent.getExtras();
    if (bundle != null) {
        searchGoodsName=bundle.getString("myKey");
    }
    initView();
    super.onNewIntent(intent);
}

應該使用onNewIntent的傳參的那個intent,這樣就可以得到從另一個頁面傳來的值了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章