Щелчок элементов навигационного ящика не работает для других действий - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь щелкнуть по элементам навигационного ящика, но не работает.

Я сделал NavigationDrawerActivity (по умолчанию: создание нового проекта) и AriesActivity (новое действие). Когда я иду с NavigationDrawerActivity, работает щелчок элемента. Но когда я использую AriesActivity, щелчки элементов не работают.
Здесь я включил значок ящика в AriesActivity, щелчок по значку навигации открывает ящик, но щелчки элементов не работают.

Таким образом, основной вопрос заключается в том, как обрабатывать клики по элементам навигации в других действиях, включая ящик для других действий?

Вот мой код AriesActivity

  public class AriesActivity extends AppCompatActivity {

    Toolbar mtoolbar;
    private DrawerLayout drawerLayout;

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

        //setting TOOLBAR on this activity(page)
        mtoolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(mtoolbar);
        Objects.requireNonNull(getSupportActionBar()).setTitle(null);


        //setting DRAWER on this activity(page)
        drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, mtoolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawerLayout.addDrawerListener(toggle);
        toggle.syncState();
   }
}

1 Ответ

0 голосов
/ 08 сентября 2018

Вы должны переопределить этот метод (onNavigationItemSelected). Пример:

 @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_gallery) {
            startActivity(new Intent(Activity1.this, Activity2.class));
            finish();
        } else if (id == R.id.nav_slideshow) {
            startActivity(new Intent(Activity2.this, Activity1.class));
            finish();
        } else if (id == R.id.nav_manage) {

        } else if (id == R.id.nav_share) {

        } else if (id == R.id.nav_send) {

        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

        drawer.closeDrawer(GravityCompat.START);
        return true;
    }
...