Java NavigationDrawer onCreate空活动

Java NavigationDrawer onCreate空活动,java,android,android-fragments,navigation-drawer,Java,Android,Android Fragments,Navigation Drawer,我遵循以下示例:在应用程序中创建导航抽屉。我可以创建它,但只有在单击第一个菜单项时,它才会显示我的片段。我会直接在onCreate上创建我的第一个片段,而不单击该项目,因为这将是另一个片段。我怎么做?这是单击片段时启动的导航抽屉活动: public class MainNavDrawer extends Activity { // Within which the entire activity is enclosed private DrawerLayout mDrawerLa

我遵循以下示例:在应用程序中创建导航抽屉。我可以创建它,但只有在单击第一个菜单项时,它才会显示我的片段。我会直接在
onCreate
上创建我的第一个片段,而不单击该项目,因为这将是另一个片段。我怎么做?这是单击片段时启动的导航抽屉活动:

public class MainNavDrawer extends Activity {
    // Within which the entire activity is enclosed
    private DrawerLayout mDrawerLayout;

    // ListView represents Navigation Drawer
    private ListView mDrawerList;
    public TextView textview;
    // ActionBarDrawerToggle indicates the presence of Navigation Drawer in the action bar
    private ActionBarDrawerToggle mDrawerToggle;

    // Title of the action bar
    private String mTitle = "";

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.menu_listview);

            mTitle = "Androi Reboot";
            getActionBar().setTitle(mTitle);

            // Getting reference to the DrawerLayout
            mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

            mDrawerList = (ListView) findViewById(R.id.drawer_list);

            // Getting reference to the ActionBarDrawerToggle
            mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                            R.drawable.ic_drawer, R.string.drawer_open,
                            R.string.drawer_close) {

                    /** Called when drawer is closed */
                    public void onDrawerClosed(View view) {
                            getActionBar().setTitle(mTitle);
                            invalidateOptionsMenu();

                    }

                    /** Called when a drawer is opened */
                    public void onDrawerOpened(View drawerView) {
                            getActionBar().setTitle("Androi Reboot");
                            invalidateOptionsMenu();
                    }

            };



            // Setting DrawerToggle on DrawerLayout
            mDrawerLayout.setDrawerListener(mDrawerToggle);

            // Creating an ArrayAdapter to add items to the listview mDrawerList
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(), 
                            R.layout.arraylist, getResources().getStringArray(R.array.menus));

            // Setting the adapter on mDrawerList
            mDrawerList.setAdapter(adapter);

            // Enabling Home button
            getActionBar().setHomeButtonEnabled(true);

            // Enabling Up navigation
            getActionBar().setDisplayHomeAsUpEnabled(true);

            // Setting item click listener for the listview mDrawerList
            mDrawerList.setOnItemClickListener(new OnItemClickListener() {

                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {

                            // Getting an array of rivers
                            String[] menuItems = getResources().getStringArray(R.array.menus);

                            // Currently selected river
                            mTitle = menuItems[position];

                            // Creating a fragment object
                            MainActivity rFragment = new MainActivity();

                            // Passing selected item information to fragment
                            Bundle data = new Bundle();
                            data.putInt("position", position);
                            data.putString("url", getUrl(position));
                            rFragment.setArguments(data);


                            // Getting reference to the FragmentManager
                            FragmentManager fragmentManager = getFragmentManager();

                            // Creating a fragment transaction
                            FragmentTransaction ft = fragmentManager.beginTransaction();

                            // Adding a fragment to the fragment transaction
                            ft.replace(R.id.content_frame, rFragment);

                            // Committing the transaction
                            ft.commit();

                            // Closing the drawer
                            mDrawerLayout.closeDrawer(mDrawerList);

                    }
            });
    }

    protected String getUrl(int position) {
            switch (position) {
            case 0:
                    return "http://javatechig.com";
            default:
                    return "http://javatechig.com";
            }
    }

    @Override
    protected void onPostCreate(Bundle savedInstanceState) {
            super.onPostCreate(savedInstanceState);
            mDrawerToggle.syncState();
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
            if (mDrawerToggle.onOptionsItemSelected(item)) {
                    return true;
            }
            return super.onOptionsItemSelected(item);
    }

    /** Called whenever we call invalidateOptionsMenu() */
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
            // If the drawer is open, hide action items related to the content view
            boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);

            menu.findItem(R.id.action_settings).setVisible(!drawerOpen);
            return super.onPrepareOptionsMenu(menu);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
    }
}
public类mainnavrawer扩展活动{
//其中包含整个活动
私人抽屉布局mDrawerLayout;
//ListView表示导航抽屉
私有列表视图mDrawerList;
公共文本视图文本视图;
//ActionBarDrawerToggle表示操作栏中存在导航抽屉
私有操作bardrawertoggle mDrawerToggle;
//操作栏的标题
私有字符串mTitle=“”;
@SuppressLint(“新API”)
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.menu\u列表视图);
mTitle=“Androi重新启动”;
getActionBar().setTitle(mTitle);
//获取对抽屉布局的引用
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
mDrawerList=(ListView)findViewById(R.id.drawer\u列表);
//获取对ActionBarDrawerToggle的引用
mDrawerToggle=新操作BarDrawerToggle(此,mDrawerLayout,
R.drawable.ic_抽屉,R.string.drawer_抽屉打开,
右弦抽屉(U关闭){
/**抽屉关闭时调用*/
公共无效onDrawerClosed(视图){
getActionBar().setTitle(mTitle);
无效操作菜单();
}
/**打开抽屉时调用*/
打开图纸上的公共空白(视图抽屉视图){
getActionBar().setTitle(“Androi重新启动”);
无效操作菜单();
}
};
//设置抽屉在抽屉布局上切换
mDrawerLayout.setDrawerListener(mDrawerToggle);
//创建ArrayAdapter以将项添加到listview mDrawerList
ArrayAdapter=新的ArrayAdapter(getBaseContext(),
R.layout.arraylist,getResources().getStringArray(R.array.menus));
//在mDrawerList上设置适配器
mDrawerList.setAdapter(适配器);
//启用主页按钮
getActionBar().setHomeButtonEnabled(true);
//启用向上导航
getActionBar().setDisplayHomeAsUpEnabled(true);
//listview mDrawerList的设置项单击侦听器
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//获得一系列河流
字符串[]menuItems=getResources().getStringArray(R.array.menus);
//当前选定的河流
mTitle=菜单项[位置];
//创建片段对象
MainActivity rFragment=新的MainActivity();
//将所选项目信息传递给片段
Bundle data=新Bundle();
数据输入(“位置”,位置);
data.putString(“url”,getUrl(position));
rFragment.setArguments(数据);
//获取对FragmentManager的引用
FragmentManager FragmentManager=getFragmentManager();
//创建片段事务
FragmentTransaction ft=fragmentManager.beginTransaction();
//向片段事务添加片段
ft.更换(R.id.内容物/框架、碎片);
//提交事务
ft.commit();
//关抽屉
mDrawerLayout.closeDrawer(mDrawerList);
}
});
}
受保护的字符串getUrl(int位置){
开关(位置){
案例0:
返回“http://javatechig.com";
违约:
返回“http://javatechig.com";
}
}
@凌驾
后期创建时受保护的空(捆绑包savedInstanceState){
super.onPostCreate(savedInstanceState);
mDrawerToggle.syncState();
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
如果(MDRAWERTOGLE.onOptionsItemSelected(项目)){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
/**调用InvalidateOptions菜单()时调用*/
@凌驾
公共布尔值OnPrepareOptions菜单(菜单){
//如果抽屉处于打开状态,则隐藏与内容视图相关的操作项
boolean-DrawerLayout=mDrawerLayout.isDrawerOpen(mDrawerList);
menu.findItem(R.id.action\u设置).setVisible(!drawerropen);
返回super.onPrepareOptions菜单(菜单);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}
正如您在单击时所看到的,它将打开my
MainActivity
(它是一个片段)。但我希望在打开应用程序时显示它,而不是在单击时显示它。谢谢你试试这个

@Override
protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu_listview);

        mTitle = "Androi Reboot";
        getActionBar().setTitle(mTitle);

        // Getting reference to the DrawerLayout
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

        mDrawerList = (ListView) findViewById(R.id.drawer_list);

        // Getting reference to the ActionBarDrawerToggle
        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                        R.drawable.ic_drawer, R.string.drawer_open,
                        R.string.drawer_close) {

                /** Called when drawer is closed */
                public void onDrawerClosed(View view) {
                        getActionBar().setTitle(mTitle);
                        invalidateOptionsMenu();

                }

                /** Called when a drawer is opened */
                public void onDrawerOpened(View drawerView) {
                        getActionBar().setTitle("Androi Reboot");
                        invalidateOptionsMenu();
                }

        };



        // Setting DrawerToggle on DrawerLayout
        mDrawerLayout.setDrawerListener(mDrawerToggle);

        // Creating an ArrayAdapter to add items to the listview mDrawerList
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(), 
                        R.layout.arraylist, getResources().getStringArray(R.array.menus));

        // Setting the adapter on mDrawerList
        mDrawerList.setAdapter(adapter);

        // Enabling Home button
        getActionBar().setHomeButtonEnabled(true);

        // Enabling Up navigation
        getActionBar().setDisplayHomeAsUpEnabled(true);

        // Setting item click listener for the listview mDrawerList
        mDrawerList.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {

                        fireFragment(position)
                        // Closing the drawer
                        mDrawerLayout.closeDrawer(mDrawerList);

                }
        });

        fireFragment(0);
}

private void fireFragment(int position){
     // Getting an array of rivers
    String[] menuItems = getResources().getStringArray(R.array.menus);

    // Currently selected river
    mTitle = menuItems[position];

    // Creating a fragment object
    MainActivity rFragment = new MainActivity();

    // Passing selected item information to fragment
    Bundle data = new Bundle();
    data.putInt("position", position);
    data.putString("url", getUrl(position));
    rFragment.setArguments(data);


    // Getting reference to the FragmentManager
    FragmentManager fragmentManager = getFragmentManager();

    // Creating a fragment transaction
    FragmentTransaction ft = fragmentManager.beginTransaction();

    // Adding a fragment to the fragment transaction
    ft.replace(R.id.content_frame, rFragment);

    // Committing the transaction
    ft.commit();
}
@覆盖
一次处理保护的空