這裏是我的使用情況:如何跨不同片段重用Android片段實例?
我需要創建使用ActionBar Navigation Tabs 3個標籤,和我使用ActionBarSherlock做到這一點。 3個標籤中的每一個都是它自己的Fragment。但是,每個選項卡中都顯示了一些常見信息(在我的案例中是產品標題,說明)。我爲這些常見信息創建了另一個片段,並在每個主要片段佈局中引用此片段,如this。
這裏是我的問題:
我想重用檢索和顯示普通信息的片段實例。我使用下面的代碼,但似乎總是在每個主要片段中創建一個公共片段的新實例。
FragmentManager fm = getFragmentManager();
f = (ProductDetailsInfoFragment) fm.findFragmentByTag("prodinfo");
if (f == null) {
Log.d(TAG, "fragment not found...creating new instance");
f = new ProductDetailsInfoFragment();
f.setTargetFragment(this, 0);
fm.beginTransaction().replace(R.id.prod_info_fragment, f, "prodinfo").commit();
}
您無法重複使用片段的同一個實例,您必須創建一個新片段用於其他片段。 – 2012-03-13 20:02:03
呃,這就是我所害怕的。我想我將不得不在片段中添加一些邏輯來緩存,這樣我就不會多次檢索數據。 – Sanjeev 2012-03-13 20:23:01