2012-10-25 12 views

回答

6

如果使用多個活動,您將獲得使用Android的活動堆棧機制的優勢。因此,如果您希望用戶能夠使用後退按鈕進行導航,那麼這是最好的選擇。

另外,如果你的活動是非常相似的,那麼您可以在一個抽象類中實現共同的代碼,讓你的10個活動擴展這個通用類,這樣就共享了一些代碼。

public abstract class CommonBehaviorActivity extends Activity { 
    protected void buildCommonThings() { 
     ((TextView)findViewById(R.id.title)).setText(getTitle()); 
     ((ImageView)findViewById(R.id.image)).setDrawable(...); 
     } 

    abstract protected String getTitle(); 
} 

public class MyActivity1 extends CommonBehaviorActivity { 
    ... 
    protected String getTitle() { 
     return "Title 1"; 
     } 
} 

等等...

編輯:添加了一些示例代碼,展示如何共享您希望在每個子活動看到的東西。例如,如果你在每一個活動列表,那麼您可以在一個getAdapter()方法定義的子活動特定的適配器,然後將列表綁定到該適配器在CommonBehaviorActivity以及配置它(綁定監聽器,等等對...)


另一方面,如果你想擁有自己的活動之間一個非常快的開關,你並不需要能夠「回到」與按鈕,然後可見/去過的觀點也許會更好。

+0

爲活動是清楚..但爲佈局?當我做的XML佈局可以做一個「標題+圖標部分」佈局,它是相同的每個佈局?我無法理解,這是片段事情,對吧? (對不起,我的英語:() – Atomico

+0

好吧,我發現它..有使用其他xml片段。ty – Atomico

1

製作的一些活動將讓你的代碼更容易閱讀和調試,你不會過多的if和else條件處理。不會有性能開銷:活動加載速度快,Android可以通過在需要時停止暫停的活動來管理後臺堆棧和釋放內存(這對於單個活動來說並非如此)。

如果你的活動是相似的,你可以把功能在單獨的類和整個活動的重新使用它們。同樣的佈局,你可以設計它們,所以你可以重新使用公共部分。

+0

我該如何使用通用部分?例如..如果每個佈局具有相同的標題+圖像,我怎樣才能使用這個每個佈局? – Atomico

+0

我使用示例代碼修改了上面的答案,該代碼展示瞭如何在父類中共享常見行爲。 –

1

您還可以,如果你想顯示動態UI使用的片段。您可以動態更改片段中的內容,也可以更改片段本身。您始終可以保持某些片段可見,而其他片段則處於非活動狀態在這種情況下,您只需要一個活動和多個片段。

這將取決於你想怎麼畫你的應用程序的UI。片段的實例都可以是Here

+0

它聽起來很酷..但我知道片段不工作在android 2.3,對嗎? – Atomico

+0

No ..碎片使用Android 1.6及更高版本。您可以使用支持庫。在Android博客上看到這篇文章:[**所有**的片段](http://android-developers.blogspot.com/2011/03/fragments-for-all.html) – AnkitSomani