navigationView 監聽頭部點擊事件

navigationView 監聽頭部點擊事件

最近想給一個項目實現一個點擊頭像後上傳頭像的功能,結果發現navigationView裏的頭部沒法點擊。
解決方法:
動態綁定頭部

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
View drawHeader = navigationView.inflateHeaderView(R.layout.nav_header);
CircleImageView avatar = (CircleImageView)drawHeader.findViewById(R.id.icon_image);
avatar.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this,"avatar clicked!",Toast.LENGTH_SHORT).show();
    }
});

此時運行代碼,會發現出現了兩個header!只有一個能點擊,真的是真假美猴王,今年下半年……開花
解決方法:
把之前在xml文件中靜態綁定的header刪掉。
就是這個:

app:headerLayout="@layout/nav_header"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章