0

when I'm trying to click on three dots it doesn't work but when I slide it works? what should I do for clicking on three dots?? I have added my main activity...

enter image description here

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
    private ViewPager viewPager;
    private DrawerLayout drawer;
    public String title;

    private TabLayout tabLayout;
    private String[] pageTitle = {"First", "Second", "Third"};

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

       viewPager = (ViewPager)findViewById(R.id.view_pager);

        tabLayout = (TabLayout) findViewById(R.id.tab_layout);
        for (int i = 0; i < 3; i++) {
            tabLayout.addTab(tabLayout.newTab().setText(pageTitle[i]));
        }

        //set gravity for tab bar
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

       DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
       ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
               this, drawer, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
       drawer.addDrawerListener(toggle);
        toggle.syncState();
        // DrawerLayout dl = (DrawerLayout)findViewById(R.id.drawerLayout);
       // ActionBarDrawerToggle t = new ActionBarDrawerToggle(this, dl,R.string.Open, R.string.Close);

       // dl.addDrawerListener(t);
       // t.syncState();

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        assert navigationView != null;
        navigationView.setNavigationItemSelectedListener(this);

        //set viewpager adapter
        ViewPagerAdapter pagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
        viewPager.setAdapter(pagerAdapter);

        //change Tab selection when swipe ViewPager
        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

        //change ViewPager page when tab selected
        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {
            }
        });

        if (savedInstanceState == null) {
navigationView.getMenu().performIdentifierAction(R.id.nav_camera,0);
        }
    }

    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.

        FragmentManager fm  = getSupportFragmentManager();
        switch(item.getItemId()) {
            case R.id.nav_camera:
               title="Pubg";
                viewPager.setCurrentItem(0);
                break;

            case R.id.nav_gallery:
                viewPager.setCurrentItem(1);
                break;

            case R.id.nav_slideshow:
                viewPager.setCurrentItem(2);
                break;

            case R.id.nav_manage:
                Intent intent = new Intent(MainActivity.this,NextActivity.class);
                startActivity(intent);
                break;
        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
        item.setChecked(true);
        getSupportActionBar().setTitle(title);
        assert drawer != null;
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }}

Above is my main activity please have a look at it. It doesn't work when I clicked on three dots of navigation.please anyone can solve my problem? When I'm trying to click on three dots it doesn't work but when I slide it works? what should I do for clicking on three dots? I have added my main activity. Application name is also not showing I have given title as pubg in code but that is wrong right

CodeWithVikas
  • 1,105
  • 9
  • 33
  • For your setup, you'll need to override the `Activity`'s `onOptionsItemSelected()` method, and call the corresponding method on the `ActionBarDrawerToggle`. The accepted answer on the linked duplicate shows how to do that. You'll need to make the toggle a class field – e.g., `private ActionBarDrawerToggle toggle;` – and don't forget to remove `ActionBarDrawerToggle` from the beginning of the `toggle` line in `onCreate()`. – Mike M. Nov 13 '19 at 22:29

1 Answers1

-1

Can you add this line

getSupportActionBar().setHomeButtonEnabled(true)

below

getSupportActionBar().setDisplayHomeAsUpEnabled(true)

Basically you need to "activate" the hamburger icon with 'setHomeButtonEnabled()'