AndroidStudio给出的模板里面只有列表点击事件,即实现OnNavigationItemSelectedListener中的onNavigationItemSelected方法,根据item的id判断是点击哪个item。但是,模板没有给出头部的点击事件。
方法是动态添加head,具体代码如下:
//NavigationView头部点击事件绑定 View drawview = navigationView.inflateHeaderView(R.layout.nav_header_main); ImageButton head_iv = (ImageButton) drawview.findViewById(R.id.head_iv); head_iv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d("Log:","头部被点击了!"); } });
注意!!由于已经动态添加了,所以xml中下面这句必须删掉,不然就会出现两个头部的情况,如图1所示。
app:headerLayout="@layout/nav_header_main"
图1