如何绑定 Activity 中 NavigationView 中的 TextView

Ali*_*ahi 5 java android dependency-injection navigation-drawer butterknife

我们使用 android sdk 26 和 butterknife 8.8.1

HomeActivity一个导航标题,导航标题还包含一些文本视图。可以绑定吗TextViewsHomeActivity

这是一些描述我的问题的代码

该类HomeActivity的布局如下

<android.support.v4.widget.DrawerLayout ....

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        .....
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/activity_navigation_drawer" />



</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

nav_header 中有一些 TextView

<LinearLayout ....

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


</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

是否可以绑定userinfo_vo_name文本视图的id HomeActivity,简单BindView失败

//fails 
@BindView(R.id.userinfo_vo_name)
TextView userinfoName;
Run Code Online (Sandbox Code Playgroud)

当然,我已经调用ButterKnife.bind(this);onCreate方法,但似乎还不够。

Gok*_*oku 3

尝试这个

NavigationView navigationView = (NavigationView) findViewById(R.id.yournavigationView);        
tvProfileName = (TextView) navigationView.getHeaderView(0).findViewById(R.id.tv_nav_userName);
imgUserProfile = (ImageView) navigationView.getHeaderView(0).findViewById(R.id.profile_image);
Run Code Online (Sandbox Code Playgroud)