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