简体   繁体   English

我无法理解如何处理处理程序的导航抽屉

[英]I can not understand how to handle the touch of the handler's navigation drawer

I created a navigation drawer but I can not figure out how to create the onClickListener the top of the navigation drawer (handler). 我创建了一个导航抽屉,但是我不知道如何在导航抽屉(处理程序)的顶部创建onClickListener。

for now my code is: 现在我的代码是:

drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {

        }

        @Override
        public void onDrawerOpened(View drawerView) {

        }

        @Override
        public void onDrawerClosed(View drawerView) {

        }

        @Override
        public void onDrawerStateChanged(int newState) {

        }
    });

    navigationView = (NavigationView) findViewById(R.id.navigationView);
    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener()
    {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item)
        {
            drawerLayout.closeDrawer(navigationView);
            return false;
        }
    });



}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId())
    {
        case android.R.id.home:
            drawerLayout.openDrawer(GravityCompat.START);
            break;
    }
    return true;
}

I also tried to get a reference to RelativeLayout containing the hadler but I can not make it work. 我还尝试获取包含hadler的对RelativeLayout的引用,但无法使其工作。

Get header layout reference from NavigationView : 从NavigationView获取标题布局参考:

    View headerLayout = navigationView.getHeaderView(0);
     headerLayout.findViewById(R.id.YOUR_RELATIVE_LAYOUT).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM