アプリの起動時にナビゲーションドロワーにメインレイアウトが表示されない

ソムナートパル

私のナビゲーションドロワーは完璧に機能しますが、プログラムを実行するたびに、ドロワーはメインレイアウトではなくデフォルトで開かれます。ナビゲーションドロワーは、ドロワーボタンをクリックしたときにのみ開く必要があります。

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);
                                                                                           }
                                        }

    }
PPartisan

同じナビゲーションドロワーテンプレートを使用しているように見える投稿が数日前に作成されました。そこで、次のコード行を削除することで問題が解決されました。

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

リストの最初の項目が自動的に選択されていたため。このセクションを削除して、何が起こるかを確認してください。これも私が言及している投稿です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ナビゲーションドロワーレイアウトのAdMobにより、起動時にアプリがクラッシュします

分類Dev

ナビゲーションドロワーの問題(レイアウトプレビューが表示されない)

分類Dev

Androidナビゲーションドロワーアプリのフラグメントビューにテキストが表示されない

分類Dev

色付きのアイコンがナビゲーションドロワーに表示されない理由

分類Dev

色付きのアイコンがナビゲーションドロワーに表示されない理由

分類Dev

ハンバーガーアイコンがナビゲーションドロワーフラグメントに表示されない

分類Dev

ナビゲーションドロワーアイコンがアクションバーに表示されないのはなぜですか?

分類Dev

cssレイアウトメニューのナビゲーションバーが水平方向に表示されない

分類Dev

ナビゲーションドロワーのアイテムをクリックすると、新しいレイアウトが開始されます

分類Dev

ナビゲーションドロワーアイコンが垂直方向の中央に配置されていない(ランドスケープモード、Android)

分類Dev

自動生成されたレイアウトの代わりに、ナビゲーションドロワーアクティビティに独自のレイアウトを使用するにはどうすればよいですか?

分類Dev

自動起動された.desktopアプリケーションがログアウト時に終了しない

分類Dev

下部のナビゲーションバーが表示されたままでさまざまなレイアウトを起動する方法

分類Dev

Xcode自動レイアウトストーリーボードプレビューにコンテナビューが表示されない

分類Dev

ナビゲーションドロワーアイコンが表示されない

分類Dev

アプリケーションの起動時にナビゲーションドロワーを閉じることができません

分類Dev

アイテムに間違ったアイコンが表示されている下部のナビゲーションドロワー

分類Dev

Appcompatv7-v21ナビゲーションドロワーにハンバーガーアイコンが表示されない

分類Dev

ブートストラップ4ナビゲーションバーにナビゲーションバーアイテムが表示されない

分類Dev

グリフアイコンがナビゲーションバー(ブートストラップ)に表示されないのはなぜですか?

分類Dev

小さなウィンドウまたはモバイルデバイスで表示すると、Bootstrap固定トップナビゲーションバーにすべてのドロップダウンアイテムが表示されません

分類Dev

ユーザーが一時的なテーマで私のサイトのライブマガジンのテーマにアクセスすると、ワードプレスのナビゲーションとメニューが正しく表示されません

分類Dev

ナビゲーションドロワーレイアウトの設定アイコンを変更するにはどうすればよいですか?

分類Dev

ナビゲーションドロワーにフラグメントが表示されない

分類Dev

ハンバーガーアイコンにナビゲーションメニューが表示されない

分類Dev

下部のナビゲーションバーにアイコンやテキストが表示されない

分類Dev

VisualVMの起動後にアプリケーションウィンドウが表示されない

分類Dev

起動時にアニメーションでナビゲーションドロワーを開く方法

分類Dev

フラグメントのタブレイアウトがナビゲーションドロワーで機能しない

Related 関連記事

  1. 1

    ナビゲーションドロワーレイアウトのAdMobにより、起動時にアプリがクラッシュします

  2. 2

    ナビゲーションドロワーの問題(レイアウトプレビューが表示されない)

  3. 3

    Androidナビゲーションドロワーアプリのフラグメントビューにテキストが表示されない

  4. 4

    色付きのアイコンがナビゲーションドロワーに表示されない理由

  5. 5

    色付きのアイコンがナビゲーションドロワーに表示されない理由

  6. 6

    ハンバーガーアイコンがナビゲーションドロワーフラグメントに表示されない

  7. 7

    ナビゲーションドロワーアイコンがアクションバーに表示されないのはなぜですか?

  8. 8

    cssレイアウトメニューのナビゲーションバーが水平方向に表示されない

  9. 9

    ナビゲーションドロワーのアイテムをクリックすると、新しいレイアウトが開始されます

  10. 10

    ナビゲーションドロワーアイコンが垂直方向の中央に配置されていない(ランドスケープモード、Android)

  11. 11

    自動生成されたレイアウトの代わりに、ナビゲーションドロワーアクティビティに独自のレイアウトを使用するにはどうすればよいですか?

  12. 12

    自動起動された.desktopアプリケーションがログアウト時に終了しない

  13. 13

    下部のナビゲーションバーが表示されたままでさまざまなレイアウトを起動する方法

  14. 14

    Xcode自動レイアウトストーリーボードプレビューにコンテナビューが表示されない

  15. 15

    ナビゲーションドロワーアイコンが表示されない

  16. 16

    アプリケーションの起動時にナビゲーションドロワーを閉じることができません

  17. 17

    アイテムに間違ったアイコンが表示されている下部のナビゲーションドロワー

  18. 18

    Appcompatv7-v21ナビゲーションドロワーにハンバーガーアイコンが表示されない

  19. 19

    ブートストラップ4ナビゲーションバーにナビゲーションバーアイテムが表示されない

  20. 20

    グリフアイコンがナビゲーションバー(ブートストラップ)に表示されないのはなぜですか?

  21. 21

    小さなウィンドウまたはモバイルデバイスで表示すると、Bootstrap固定トップナビゲーションバーにすべてのドロップダウンアイテムが表示されません

  22. 22

    ユーザーが一時的なテーマで私のサイトのライブマガジンのテーマにアクセスすると、ワードプレスのナビゲーションとメニューが正しく表示されません

  23. 23

    ナビゲーションドロワーレイアウトの設定アイコンを変更するにはどうすればよいですか?

  24. 24

    ナビゲーションドロワーにフラグメントが表示されない

  25. 25

    ハンバーガーアイコンにナビゲーションメニューが表示されない

  26. 26

    下部のナビゲーションバーにアイコンやテキストが表示されない

  27. 27

    VisualVMの起動後にアプリケーションウィンドウが表示されない

  28. 28

    起動時にアニメーションでナビゲーションドロワーを開く方法

  29. 29

    フラグメントのタブレイアウトがナビゲーションドロワーで機能しない

ホットタグ

アーカイブ