因此,我試圖將谷歌地圖集成到我的應用程序,我遇到了一個我不完全理解的概念。我已經看到,將谷歌地圖添加到應用程序中,似乎最常見的方式是使用一項活動。最好的方式來改變用戶界面,使用活動和片段
我發現了一些網站和一個SO問題,顯示如何將Google地圖放入一個片段中,但如果用戶不斷點擊配置文件並返回,這會是一個問題嗎?導致地圖不斷重新創建或恢復。如果地圖是一項活動,那麼這種表現會更好嗎?
基本上,林不知道從活動GUI過渡到片段的最佳方式?我有一個應用程序,只用1個活動,我只是用多個不同的片段,這段代碼
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
Fragment fragment = getFragmentManager().findFragmentById(R.id.framecontainer);
if (fragment == null) {
ft.add(R.id.framecontainer, frag, tag);
} else {
ft.replace(R.id.framecontainer, frag, tag);
}
ft.addToBackStack(null);
ft.commit();
我很困惑,因爲當我建立了我的主要活動,我叫
setContentView(R.layout.baselayout);
改變它們這個佈局只包含一個框架容器,然後我會馬上添加一個HomeScreenFragment,當我需要更改時,我會使用上面的FragmentTransaction
代碼。
但是,如果我的新MapActivity使用setContentView(R.layout.maplayout);
我該如何最好地更改屏幕?如果R.id.maplayout
不包含framelayout,是否最好啓動一個使用許多片段的新活動,如前面提到的那個片段?我記得聽說不止一次或onCreate()
以外撥打setContentView
是不好的做法。
看來我失去了一些東西,因爲到目前爲止,它好像有使用活動,不同的佈局
- 每次開始一個新的活動,只是想盡量減少活動量的2種方式。
- 做一個FrameLayout裏的活動,只要將碎片每次
爲了解決我的實際問題 我希望我的用戶點擊其他用戶在地圖上標出這將給他們帶來一個profilelayout
和觀點用戶的個人資料,我應該使用上述兩種方法之一還是應該如何去做?
你們有什麼意見可以指出我最好的方向嗎?謝謝!