导航视图标题单击侦听器不起作用

时间:2016-07-05 13:40:40

标签: android onclicklistener navigationview

出于某种原因,导航视图的标题对我不起作用。我已经按照其他帖子的答案,但我仍然有同样的问题。这是我的代码:

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

    View header = navigationView.getHeaderView(0);   

    linearLayoutUserProfile = (LinearLayout) header.findViewById(R.id.linearUserProfile);

    linearLayoutUserProfile.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Toast.makeText(MenuActivity.this,"Click header", Toast.LENGTH_SHORT).show();
            //Intent mIntent = new Intent(MenuActivity.this, ProfileActivity.class);
            //startActivity(mIntent);
        }
    });

任何人都可以给我任何提示吗?

查找 解决方案,阅读以下

1 个答案:

答案 0 :(得分:0)

搜索和搜索后,我发现您不必在导航视图后添加更多xml代码:

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_menu"
    app:menu="@menu/activity_menu_drawer"/>

最好将此导航视图选项卡保留在“activity_main.xml”的末尾(或者您的导航视图所在的xml)这是我的“nav_header_menu.xml”:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="@dimen/nav_header_height"
          android:id="@+id/linearUserProfile"
          android:background="@drawable/background_wheat"
          android:gravity="bottom"
          android:orientation="vertical"
          android:paddingBottom="@dimen/activity_vertical_margin"
          android:paddingLeft="@dimen/activity_horizontal_margin"
          android:paddingRight="@dimen/activity_horizontal_margin"
          android:paddingTop="@dimen/activity_vertical_margin"
          android:clickable="true"
          android:theme="@style/ThemeOverlay.AppCompat.Dark">

<ImageView
    android:id="@+id/imageViewHeader"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="@dimen/nav_header_vertical_spacing"
    android:src="@drawable/ic_user_no_picture_45dp"
    />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/textViewNombre"
    android:paddingTop="@dimen/nav_header_vertical_spacing"
    android:text="Some name"
    android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="text"/>

</LinearLayout>