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