如何绑定 Activity 中 NavigationView 中的 TextView

How to Bind a TextView which is in an NavigationView in an Activity

我们正在使用 android sdk 26 和 butterknife 8.8.1

HomeActivity有一个导航头,导航头还包含一些文本视图。是否可以在 HomeActivity 中绑定 TextViews ?!

这里有一些代码描述了我的问题

HomeActivity class 的布局如下

<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>

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>

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

//fails 
@BindView(R.id.userinfo_vo_name)
TextView userinfoName;

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

试试这个

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);