Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序启动时导航抽屉不显示主布局_Android_Navigation Drawer - Fatal编程技术网

Android 应用程序启动时导航抽屉不显示主布局

Android 应用程序启动时导航抽屉不显示主布局,android,navigation-drawer,Android,Navigation Drawer,我的导航抽屉工作正常,但每次运行程序时,默认情况下,抽屉都会打开,而不是打开主布局。仅当单击抽屉按钮时,才应打开导航抽屉 public class MainActivity extends Activity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private CharSeq

我的导航抽屉工作正常,但每次运行程序时,默认情况下,抽屉都会打开,而不是打开主布局。仅当单击抽屉按钮时,才应打开导航抽屉

public class MainActivity extends Activity {

    private DrawerLayout mDrawerLayout;
    private ListView mDrawerList;
    private ActionBarDrawerToggle mDrawerToggle;

    private CharSequence mDrawerTitle;
    private CharSequence mTitle;
    CustomDrawerAdapter adapter;

    List<DrawerItem> dataList;

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);

          // Initializing
          dataList = new ArrayList<DrawerItem>();
          mTitle = mDrawerTitle = getTitle();
          mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
          mDrawerList = (ListView) findViewById(R.id.left_drawer);

          mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
                      GravityCompat.START);


       // Add Drawer Item to dataList
          // Add Drawer Item to dataList
          dataList.add(new DrawerItem("Message", R.drawable.ic_action_email));
          dataList.add(new DrawerItem("Likes", R.drawable.ic_action_good));
          dataList.add(new DrawerItem("Games", R.drawable.ic_action_gamepad));
          dataList.add(new DrawerItem("Lables", R.drawable.ic_action_labels));
          dataList.add(new DrawerItem("Search", R.drawable.ic_action_search));
          dataList.add(new DrawerItem("Cloud", R.drawable.ic_action_cloud));
          dataList.add(new DrawerItem("Camara", R.drawable.ic_action_camera));
          dataList.add(new DrawerItem("Video", R.drawable.ic_action_video));
          dataList.add(new DrawerItem("Groups", R.drawable.ic_action_group));
          dataList.add(new DrawerItem("Import & Export",
                      R.drawable.ic_action_import_export));
          dataList.add(new DrawerItem("About", R.drawable.ic_action_about));
          dataList.add(new DrawerItem("Settings", R.drawable.ic_action_settings));
          dataList.add(new DrawerItem("Help", R.drawable.ic_action_help));


          adapter = new CustomDrawerAdapter(this, R.layout.custom_drawer_item,dataList);

          mDrawerList.setAdapter(adapter);

          mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

          getActionBar().setDisplayHomeAsUpEnabled(true);
          getActionBar().setHomeButtonEnabled(true);

          mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                      R.drawable.ic_drawer, R.string.drawer_open,
                      R.string.drawer_close) {
                public void onDrawerClosed(View view) {
                      getActionBar().setTitle(mTitle);
                      invalidateOptionsMenu(); // creates call to
                                                                // onPrepareOptionsMenu()
                }

                public void onDrawerOpened(View drawerView) {
                      getActionBar().setTitle(mDrawerTitle);
                      invalidateOptionsMenu(); // creates call to
                                                                // onPrepareOptionsMenu()
                }
          };

          mDrawerLayout.setDrawerListener(mDrawerToggle);

          if (savedInstanceState == null) {
                SelectItem(0);
          }
    }          

          public void SelectItem(int possition) {

              Fragment fragment = null;
              Bundle args = new Bundle();
              switch (possition) {
              case 0:
                    fragment = new FragmentOne();
                    args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 1:
                    fragment = new FragmentTwo();
                    args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 2:
                    fragment = new FragmentThree();
                    args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 3:
                    fragment = new FragmentOne();
                    args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 4:
                    fragment = new FragmentTwo();
                    args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 5:
                    fragment = new FragmentThree();
                    args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 6:
                    fragment = new FragmentOne();
                    args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 7:
                    fragment = new FragmentTwo();
                    args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 8:
                    fragment = new FragmentThree();
                    args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 9:
                    fragment = new FragmentOne();
                    args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 10:
                    fragment = new FragmentTwo();
                    args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 11:
                    fragment = new FragmentThree();
                    args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              case 12:
                    fragment = new FragmentOne();
                    args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                                .getItemName());
                    args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                                .getImgResID());
                    break;
              default:
                    break;
              }

              fragment.setArguments(args);
              FragmentManager frgManager = getFragmentManager();
              frgManager.beginTransaction().replace(R.id.content_frame, fragment)
                          .commit();

              mDrawerList.setItemChecked(possition, true);
              setTitle(dataList.get(possition).getItemName());
              mDrawerLayout.closeDrawer(mDrawerList);

        }

          @Override
          public void setTitle(CharSequence title) {
                mTitle = title;
                getActionBar().setTitle(mTitle);
          }

          @Override
          protected void onPostCreate(Bundle savedInstanceState) {
                super.onPostCreate(savedInstanceState);
                // Sync the toggle state after onRestoreInstanceState has occurred.
                mDrawerToggle.syncState();
          }

          @Override
          public boolean onOptionsItemSelected(MenuItem item) {
                // The action bar home/up action should open or close the drawer.
                // ActionBarDrawerToggle will take care of this.
                if (mDrawerToggle.onOptionsItemSelected(item)) {
                      return true;
                }

                return false;
          }

          @Override
          public void onConfigurationChanged(Configuration newConfig) {
                super.onConfigurationChanged(newConfig);
                // Pass any configuration change to the drawer toggles
                mDrawerToggle.onConfigurationChanged(newConfig);
          }


          @SuppressWarnings("unused")
        private class DrawerItemClickListener implements
          ListView.OnItemClickListener {
          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
             SelectItem(position);
                                                                                           }
                                        }

    }

几天前发表了一篇文章,似乎使用了相同的导航抽屉模板。在那里,通过删除以下代码行解决了问题:

if (savedInstanceState == null) {
            SelectItem(0);
      }
因为列表中的第一项被自动选中。尝试删除此部分,看看会发生什么