private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
}
}
private void selectItem(int position) {
Fragment fragment = new PlanetFragment();
Bundle args = new Bundle();
args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
fragment.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
mDrawerList.setItemChecked(position, true);
setTitle(mPlanetTitles[position]);
mDrawerTitle=mPlanetTitles[position];
mDrawerLayout.closeDrawers();
}
我的應用程序是用drawer.The 8星球drawernavigation演示demo.When你點擊抽屜ListView
顯示一個項目,在這個星球上的畫面片段的變化。在commit()之後調用onCreate()嗎?
這裏是我的困惑:
我認爲Fragment
的onCreate
和onCreateView
方法稱爲序列爲「fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
」。
但實際上,他們在onItemClick()
完成後調用。爲什麼? 在此先感謝。
*爲什麼?*在UI /主線程上的消息隊列的基礎... – Selvin