android布局设置监听,Android NavigationView头部设置监听事件

NavigationView头部设置监听事件的方法,供大家参考,具体内容如下

1、将XML里的静态引入删除:

2、在代码里 findViewById 找到 NavigationView,然后引入 Header 和 Menu,再获取头部布局,最后设置监听事件:

//findviewbyid

navigationView = (NavigationView) findViewById(R.id.nav_view);

//引入header和menu

navigationView.inflateHeaderView(R.layout.nav_header);

navigationView.inflateMenu(R.menu.nav_menu);

//获取头部布局

View navHeaderView = navigationView.getHeaderView(0);

3、完整代码如下:

private void initNavigation() {

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

navigationView = (NavigationView) findViewById(R.id.nav_view);

//引入header和menu

navigationView.inflateHeaderView(R.layout.nav_header);

navigationView.inflateMenu(R.menu.nav_menu);

//设置menu的监听事件

navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {

@Override

public boolean onNavigationItemSelected(@NonNull MenuItem item) {

switch (item.getItemId()) {

case R.id.add_city:

//启动

startActivityForResult(new Intent(MainActivity.this, CityPickerActivity.class),

REQUEST_CODE_PICK_CITY);

drawerLayout.closeDrawers();

break;

case R.id.setting:

Intent SettingIntent = new Intent(MainActivity.this, SettingActivity.class);

startActivity(SettingIntent);

drawerLayout.closeDrawers();

break;

case R.id.about:

Intent aboutIntent = new Intent(MainActivity.this, aboutActivity.class);

startActivity(aboutIntent);

drawerLayout.closeDrawers();

break;

}

return false;

}

});

//获取头部布局

View navHeaderView = navigationView.getHeaderView(0);

//设置监听事件

icon_image = (CircleImageView) navHeaderView.findViewById(R.id.icon_image);

icon_image.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

dialog.show();

}

});

//读取头像

Utility.getImageFromShare(this, icon_image);

//dialog

dialog = new CustomDialog(this, 100, 100, R.layout.dialog_photo, R.style.Theme_dialog,

Gravity.BOTTOM, R.style.pop_anim_style);

//屏幕外点击无效

dialog.setCancelable(false);

btn_camera = (Button) dialog.findViewById(R.id.btn_camera);

btn_camera.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

toCamera();

}

});

btn_picture = (Button) dialog.findViewById(R.id.btn_picture);

btn_picture.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

toPicture();

}

});

btn_cancel = (Button) dialog.findViewById(R.id.btn_cancel);

btn_cancel.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

dialog.dismiss();

}

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值