1

我正在研究一個項目,我曾經遇到過一個問題。我的主要活動是我需要解析的網站列表。我正在製作偏好窗口。在它的內部,我可以選擇要在主要活動中看到哪些網站,以及哪些網站沒有(複選框)。對於其他活動,我還有更多的喜好(顯示或不顯示圖像)。首選項活動可通過NavigationDrawer從任何其他活動訪問。關於如何正確刷新主頁面,我還沒有找到一個好的答案,所以我得出結論,當我按下後退按鈕時,我需要重新啓動活動。問題是我想重新啓動打開首選項活動的活動。有沒有辦法通過這個意圖傳遞這個類,以便我知道我想要打開什麼活動?如何將活動類別傳遞給此活動已打開的意圖?

+0

這聽起來像你所想的下降會弄亂你的背部棧的路徑。你嘗試刷新'onResume()'中的每個Activity中的數據嗎? –

+0

@DanielNugent我實際上已經考慮過了,但是似乎'onResume()'不僅在我回到活動時起作用,而且在更多情況下也起作用。順便說一句,我在這裏讀過的地方,這不是一個很好的方式來做到這一點。最後一件事。我已經嘗試過了,但我可能已經明白了這個想法是錯誤的,所以它沒有像我想要的那樣工作。 – Vendetta8247

回答

0

在首選項活動中創建靜態活動,並在啓動首選項活動之前爲其分配當前活動。及後整理偏好活動後刷新當前活動

偏好活動

public class PreferenceAtivity extends Activity { 
     public static Activity currentActivity; 

     pubic void save(View v) { 
     finish(); 
     currentActivity.recreate(); 
    } 
} 

另一個活動

public class AnotherAtivity extends Activity { 


@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     int id = item.getItemId(); 

     if (id == R.id.preference) { 
      PreferenceActivity.currentActivity = this; 
      startAtivity(new Intent(this, PreferenceActivity.class); 

      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
    } 
+0

好的,我對此有疑問。如果我拒絕你的意思,你想讓我創建一個類的對象,它調用PreferenceActivity內部的'PreferenceActivity',然後將我的活動分配給該創建的對象?如果我誤解了我的請求。如果我從來沒有創建'PreferenceActivity',我怎樣才能真正將它分配給對象?因爲我只是用Intent調用它? – Vendetta8247

+0

創建一個靜態活動對象。這樣任何活動都可以分配給它。 –

+0

但我沒有PreferenceActivity對象。或者你的意思是讓這個類是靜態的嗎? – Vendetta8247

相關問題