美好的一天,我知道这个问题已经被问过了。但是正如搜索的那样,他们的解决方案都不适用于这个主题。我编译了 gradle - compile 'de.hdodenhof:circleimageview:1.3.0'
. 我建立header.xml
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/profile_image"
android:layout_width="80dp"
android:layout_height="80dp"
app:border_color="#FF000000"
android:layout_marginLeft="24dp"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_margin="@dimen/activity_vertical_margin"
android:layout_marginStart="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:src="@drawable/avatar"
android:foreground="?attr/selectableItemBackground"
android:onClick="onClick"
android:clickable="true" />
对于我的navigationView
.
<!--NAVIGATION DRAWER-->
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/header"
app:menu="@menu/navigation_drawer"
app:itemIconTint="@color/colorTextNavigationView" />
在我的 java 文件中activity_main.java
,我尝试了 onClickListener,但它会停止我的程序 - nullPointerException(无法映射我的 circleImageView findViewById)。如果我单击圆形图像,即使 setNavigationItemSelectedListener 也不会启动意图。
mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
mDrawerLayout.closeDrawers();
int id = menuItem.getItemId();
switch (id){ // INTENTS HERE}
}
有没有办法让这个可以点击?