导航抽屉Android示例:如何在加载时加载不是片段框架容器的特定片段
我已经在android开发者身上实现了一个带有Nav-Drawer示例的多视图应用程序,一切正常,实现正确。我使用动态方式加载片段。我有一个加载片段框架容器的主要活动。当我在导航抽屉中选择选项时,我的onclick侦听器允许我毫无问题地更改片段,并将它们加载到框架容器中。此框架容器包含在我的主活动xml文件中。相关id在oncreate方法中被链接,与它应该链接的完全一样,这很好。我的问题是,这个活动在加载时显然是空白的,我希望它填充字符串数组中的第一项,而不必触摸导航菜单。我相信解决办法很简单,但我还是逃避不了导航抽屉Android示例:如何在加载时加载不是片段框架容器的特定片段,android,android-fragments,navigation-drawer,oncreate,application-lifecycle,Android,Android Fragments,Navigation Drawer,Oncreate,Application Lifecycle,我已经在android开发者身上实现了一个带有Nav-Drawer示例的多视图应用程序,一切正常,实现正确。我使用动态方式加载片段。我有一个加载片段框架容器的主要活动。当我在导航抽屉中选择选项时,我的onclick侦听器允许我毫无问题地更改片段,并将它们加载到框架容器中。此框架容器包含在我的主活动xml文件中。相关id在oncreate方法中被链接,与它应该链接的完全一样,这很好。我的问题是,这个活动在加载时显然是空白的,我希望它填充字符串数组中的第一项,而不必触摸导航菜单。我相信解决办法很简单
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
\\ this loads my content frame to display a fragment when i select a nav bar option
setContentView(R.layout.activity_my);
activity_my.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- The navigation drawer -->
<ListView android:id="@+id/left_drawer"
android:entries="@array/futurists"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
/* The click listener for ListView in the navigation drawer */
private class DrawerItemClickListener implements ListView.OnItemClickListener
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
displayView(position);
}
}
// Method that updates content frame with different fragments
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new Title();
break;
case 1:
fragment = new Activity1();
break;
case 2:
fragment = new Activity2();
break;
case 3:
fragment = new Activity3();
break;
case 4:
fragment = new Activity4();
break;
case 5:
fragment = new Activity5();
break;
case 6:
fragment = new Activity6();
break;
case 7:
fragment = new Activity7();
break;
case 8:
fragment = new Activity8();
break;
case 9:
fragment = new Activity9();
break;
case 10:
fragment = new Activity10();
default:
break;
}
if (fragment != null)
{
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment).addToBackStack(null).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(mNames[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
上面是我的onclick监听器,它为内容框架中的填充选择各种片段
我的问题是,在加载活动时,如何在不必触摸导航抽屉中的A选项的情况下加载片段标题。我正在研究应用程序的生命周期,在oncreate方法之后,我尝试了onCreateView的各种实验,但这也不起作用。任何帮助都将不胜感激。谢谢您不能在设置ContentView后立即调用displayView0吗?谢谢,我现在就尝试一下,然后报告结果。如果savedInstanceState==null{displayView0;}