2
我有一個包含兩個片段的大型佈局文件:一個列表片段和一個詳細片段。列表片段應根據傳遞給Activity的TYPE參數列出不同的數據。問題是,當我在Activity的onCreate()方法中調用setContentView()方法時,片段會創建,我無法將此參數傳遞給它。 代碼:內將參數傳遞給片段
公共類VideoPlayerActivity擴展FragmentActivity {
Type type;
MyListFragment listFragment;
FragmentManager fragmentManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
fragmentManager = getSupportFragmentManager();
Bundle extras = getIntent().getExtras();
if (extras != null && extras.containsKey(Constants.KEY_TYPE)) {
int type = extras.getInt(Constants.KEY_TYPE);
type = Type.getTypeByValue(type);
}
if (findViewById(R.id.fragment_container) != null) {
// Normal Screen Layout
if (savedInstanceState != null) {
return;
}
listFragment = new MyListFragment();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, listFragment).commit();
} else {
// Large Screen layout
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
listFragment = (MyListFragment) fragmentManager.findFragmentById(R.id.listFragment);
}
}
如果我new
活動,我可以調用它的onAttach()方法的方法來獲取參數,但在這個例子中,我已經定義片段xml佈局,並在活動創建時進行初始化。你有什麼主意嗎?