我做了一個簡單的應用程序,它使用了一個操作欄,我想檢測哪個Fragment
被加載。由於FragmentTransaction設置片段的ID是R.id.content_frame
這是容器getFragmentManager()。getFragmentById(R.id.fragment)返回null
getFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
我做了一個簡單的應用程序,它使用了一個操作欄,我想檢測哪個Fragment
被加載。由於FragmentTransaction設置片段的ID是R.id.content_frame
這是容器getFragmentManager()。getFragmentById(R.id.fragment)返回null
getFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
:不幸的是,下面一行總是返回null:
getFragmentManager().getFragmentById(R.id.fragment)
裝載新Fragment
S,我使用。所以getFragmentManager().getFragmentById(R.id.content_frame)
會給你片段。
此外,建議使用支持庫的碎片和appcompat-v7(getSupportFragmentManager()
和android.support.v4.Fragment
,從appcompat的ActionBarActivity
延伸),因爲它們更加維護。
您的答案已完成。謝謝。要管理當前加載的片段,我正在使用標籤。 –
就是這樣。謝謝。 – Sotti
getFragmentById?你可以發佈一個鏈接到文檔 – Blackbelt
當你執行getFragmentManager()。beginTransaction()。replace(R.id.content_frame,fragment).commit();'? – Sufian
@blackbelt這裏是鏈接到文檔http://developer.android.com/reference/android/app/FragmentManager.html#findFragmentById(int) –