こんにちは、私はこの問題が既に尋ねられていることを知っています。しかし、検索されたので、このトピックに関しては、私の解決策のどれも私のためには機能しません。 私はgradle - compile 'de.hdodenhof:circleimageview:1.3.0'
をコンパイルしました。私は私のnavigationView
についてheader.xml
CircleImageViewをNavigationView Drawerでクリック可能にするには
<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" />
を作成しました。私のjavaファイルactivity_main.java
で
<!--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" />
私はonClickListenerを試してみましたまだそれは私のプログラムを停止します - NullPointerExceptionが(私のcircleImageView findViewByIdをマッピングされません).AND私はサークルの画像をクリックした場合でも、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}
}
このクリッカブルを作るための方法はありますか?
なぜ私はgetHeaderView(0)ですか?これはスタックラインを参照していますか? – RoCk