如果我需要做10周類似的活動,豈不是更好我做的:Android:更好地做很多活動,或者1個活動在飛行中變化?
- 10項活動和10個佈局?
- 1活性和10佈局?
- 1活性改變,能見度不見了/可見的UI?
我需要一個答案:
- 性能
- 手續
如果我需要做10周類似的活動,豈不是更好我做的:Android:更好地做很多活動,或者1個活動在飛行中變化?
我需要一個答案:
如果使用多個活動,您將獲得使用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
以及配置它(綁定監聽器,等等對...)
另一方面,如果你想擁有自己的活動之間一個非常快的開關,你並不需要能夠「回到」與按鈕,然後可見/去過的觀點也許會更好。
製作的一些活動將讓你的代碼更容易閱讀和調試,你不會過多的if和else條件處理。不會有性能開銷:活動加載速度快,Android可以通過在需要時停止暫停的活動來管理後臺堆棧和釋放內存(這對於單個活動來說並非如此)。
如果你的活動是相似的,你可以把功能在單獨的類和整個活動的重新使用它們。同樣的佈局,你可以設計它們,所以你可以重新使用公共部分。
我該如何使用通用部分?例如..如果每個佈局具有相同的標題+圖像,我怎樣才能使用這個每個佈局? – Atomico
我使用示例代碼修改了上面的答案,該代碼展示瞭如何在父類中共享常見行爲。 –
您還可以,如果你想顯示動態UI使用的片段。您可以動態更改片段中的內容,也可以更改片段本身。您始終可以保持某些片段可見,而其他片段則處於非活動狀態在這種情況下,您只需要一個活動和多個片段。
這將取決於你想怎麼畫你的應用程序的UI。片段的實例都可以是Here
它聽起來很酷..但我知道片段不工作在android 2.3,對嗎? – Atomico
No ..碎片使用Android 1.6及更高版本。您可以使用支持庫。在Android博客上看到這篇文章:[**所有**的片段](http://android-developers.blogspot.com/2011/03/fragments-for-all.html) – AnkitSomani
它可能會更容易編寫多個活動,您可以從事件的好處,如的onResume()。 – user1032613