标题设置为onItemClick的Android navigationview不起作用

标题设置为onItemClick的Android navigationview不起作用,第1张

概述我正在开发一个应用程序(作为第一个应用程序),在这个应用程序中,我这样声明了navigationView:<android.support.design.widget.NavigationViewandroid:layout_width="wrap_content"android:layout_height="match_parent"android:id="@+idavigation_drawer&quo

我正在开发一个应用程序(作为第一个应用程序),在这个应用程序中,我这样声明了navigationVIEw:

<androID.support.design.Widget.NavigationVIEw     androID:layout_wIDth="wrap_content"     androID:layout_height="match_parent"     androID:ID="@+ID/navigation_drawer"     androID:layout_gravity="start"     androID:fitsSystemwindows="true"     app:menu="@menu/drawer_menu"     app:headerLayout="@layout/drawer_header">

在我的mainactivity.java中,我有:

public class MainActivity extends AppCompatActivity implementsNavigationVIEw.OnNavigationItemSelectedListener{...@OverrIDepublic boolean onNavigationItemSelected(@NonNull MenuItem item) {    Log.d("Navigation","Item selected : "+ item.getItemID());    int ID = item.getItemID();    switch (ID){        case R.ID.about:            Toast.makeText(getApplicationContext(),"About Us    elected",Toast.LENGTH_SHORT).show();            break;        case R.ID.help:        Toast.makeText(getApplicationContext(),"Help",Toast.LENGTH_SHORT).show();            break;        case R.ID.setting: Toast.makeText(getApplicationContext(), "Settings",Toast.LENGTH_SHORT).show();            break;        case R.ID.EditProfile:{            Intent intent= new Intent(this , EditProfile.class);            startActivity(intent);        }        default:            break;    }    DrawerLayout drawerLayout= (DrawerLayout) findVIEwByID(R.ID.drawer_layout);    drawerLayout.closeDrawer(GravityCompat.START);    return false;}

根据this,我扩展了ActionbarDrawerToggle,在它的onDrawerOpened函数中,我没有

drawerVIEw.bringToFront();drawerVIEw.getParent().requestLayout();

但是,当我单击导航视图时,仍然不会触发onNavigationItemSelected函数上的项.

是因为我添加了标题视图吗?

在将标题视图添加到navigationVIEw之前,此方法有效(我只是在将标题添加到navigationVIEw之前没有对其进行测试.

另外,我认为值得注意的是,navigationVIEw标头中有一些按钮和TextVIEws.

<?xml version="1.0" enCoding="utf-8"?><linearLayout     xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:orIEntation="vertical"    androID:ID="@+ID/drawer_header"    androID:background="@drawable/drawer_bg"    androID:layout_wIDth="match_parent"    androID:padding="4dp"    androID:layout_height="200dp">    <relativeLayout        androID:gravity="center_vertical"        androID:orIEntation="horizontal"        androID:layout_wIDth="match_parent"        androID:layout_margintop="50dp"        androID:layout_gravity="center"        androID:layout_height="wrap_content">        <de.hdodenhof.circleimagevIEw.circleimageVIEw            xmlns:app="http://schemas.androID.com/apk/res-auto"            androID:layout_wIDth="80dp"            androID:layout_height="80dp"            androID:src="@drawable/avatar"            androID:ID="@+ID/AvatarImageVIEw"            androID:layout_centerHorizontal="true" />        <button            androID:text="Signup"            androID:layout_wIDth="55dp"            androID:layout_height="55dp"            androID:layout_alignParentRight="true"            androID:ID="@+ID/header_signup"            androID:textSize="12sp"            androID:background="@drawable/signup_button"            androID:textStyle="normal|bold" />    </relativeLayout>    <TextVIEw        androID:textcolor="@color/colorPrimaryDark"        androID:layout_wIDth="match_parent"        androID:layout_centerHorizontal="true"        androID:layout_height="wrap_content"        androID:ID="@+ID/header_username"        androID:textAlignment="center" />    <TextVIEw        androID:text="logout"        androID:textcolor="@color/colorPrimaryDark"        androID:layout_wIDth="match_parent"        androID:layout_centerHorizontal="true"        androID:textAlignment="center"        androID:layout_height="wrap_content"        androID:ID="@+ID/header_logout"        /></linearLayout>

解决方法:

您应该在onCreate中为菜单项的Click Listener添加以下代码行,

NavigationVIEw navigationVIEw = (NavigationVIEw) findVIEwByID(R.ID. navigation_drawer);navigationVIEw.setNavigationItemSelectedListener(this);
总结

以上是内存溢出为你收集整理的标题设置为onItemClick的Android navigationview不起作用全部内容,希望文章能够帮你解决标题设置为onItemClick的Android navigationview不起作用所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1093891.html

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

发表评论

登录后才能评论

评论列表(0条)

保存