2012-07-10 26 views
0

我有一個爲API 11及更高版本編寫的項目,不需要它也可用於2.3.3 OS設備,因此需要使用支持庫。最簡單的方法是什麼?例如,我知道一些方法對Fragments有不同的名稱。是否可以使用「查找和替換全部」?使用Android支持庫的簡單方法?

+0

爲什麼不可能,該菜單項是否被禁用? – 2012-07-10 19:53:34

+0

你是什麼意思? – Eugene 2012-07-10 19:54:21

+0

我的意思是,該菜單項(查找和替換全部)已禁用,因此您不能再使用它了嗎? – 2012-07-10 19:55:30

回答

2

大多數情況下,這是可能的。你還必須改變比你想象的要小的數值,例如Fragment類是好的。

你將不得不改變getFragmentManagergetSupportFragmentManager,以及改變你的基地ActivityFragmentActivity。那些是我頭頂最常見的兩個。

最簡單的方法是將目標更改爲2.2,將support-package作爲庫添加,並查看哪些中斷並修復它 - 一旦您有替換修復程序,則可以使用find和replace all來修復所有問題的實例。

+0

謝謝!偏好怎麼樣?這可能是我想的一個問題。 – Eugene 2012-07-10 19:56:35

+0

是的,那是沒有回移。看看這個:http://stackoverflow.com/questions/5501431/was-preferencefragment-intentionally-excluded-from-the-compatibility-package – edthethird 2012-07-10 19:58:03

+0

你不需要改變項目構建調試你的應用程序...這是什麼'Android lint'是爲... – 2012-07-10 20:00:19

0

是否可以使用「查找和替換全部」?

就我而言,做一個簡單的「查找和替換全部」從來都不是一個好主意......這太容易犯錯了。

什麼是最簡單的轉換方法?

這個改變非常簡單,不應該要求你改變你的構建目標(當然,假設你的目標是Android 1.6或更高版本)。你必須做的主要變化是:

  1. 對於每個Activity,它利用了支持庫,有其擴展FragmentActivity代替。

  2. 在每個FragmentActivity中,用getSupportLoaderManager()替換所有調用getLoaderManager()

  3. 在每個FragmentActivity中,將所有致電getFragmentManager()替換爲getSupportFragmentManager()

  4. 將所有相關的android.*進口替換爲其對應的support.v4.*進口報表。