2014-03-26 62 views
1

我有三個activites工作,讓我們稱他們爲A,B和C向上導航並不如預期

我最初有活動意圖,並呼籲活動B打開一個傳球的數據,顯示從活動傳遞的數據A.

現在的問題是,當我從活動B打開活動C,並使用通過將活動B設置爲清單中活動C的父級而設置的向上導航時,沒有任何數據顯示在活動A中在Activity B中。如果我只是做一個按鈕並調用finish();在按鈕上,而不是使用向上導航,該活動仍然包含活動A的所有數據,只是我想要如何在活動B中。

我假設這與使用導航的生命週期有關?我甚至嘗試通過傳遞數據來使用從活動B到C的意圖,然後onResult將它返回到活動B,但似乎在單擊向上導航時從不調用onActivityResult。有任何想法嗎?也許我可以重寫這個向上導航來調用finish(),就像我的按鈕一樣,只是沒有更多?

回答

0

假設你已經在清單中定義父活動,請確保您覆蓋以下方法:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    // You code here 
    getActionBar().setDisplayHomeAsUpEnabled(true); 
    // or getSupportActionBar().setDisplayHomeAsUpEnabled(true) if using support actionbar, i.e., for targets < 3.0; 
} 

現在,您將能夠趕上的「向上」按鈕的動作與標識android.R.id.home

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

仍然無法工作,我想如何。向上導航只需要調用finish();我只是測試了這段代碼,它仍然返回null異常,就像我調用finish()的按鈕所在的位置一樣。犯規。 – user3460562

+0

'NullPointerException'說什麼? – yugidroid

+0

說NullPointerException在 \t \t \t \t ParseFile fileObject =(ParseFile)object.get(「photo」); – user3460562