Android NavigationView头部设置监听事件

Android NavigationView头部设置监听事件,第1张

概述NavigationView头部设置监听事件的方法,供大家参考,具体内容如下1、将XML里的静态引入删除:

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

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

<androID.support.design.Widget.NavigationVIEw    androID:ID="@+ID/nav_vIEw"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:layout_gravity="start" />  <!--删除下面两行-->  <!--app:headerLayout="@layout/nav_header"-->  <!--app:menu="@menu/nav_menu"-->

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

//findvIEwbyIDnavigationVIEw = (NavigationVIEw) findVIEwByID(R.ID.nav_vIEw);//引入header和menunavigationVIEw.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,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();      }    });  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android NavigationView头部设置监听事件全部内容,希望文章能够帮你解决Android NavigationView头部设置监听事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1144152.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存