如何绑定Activity中NavigationView中的TextView

时间:2017-11-18 12:53:47

标签: java android dependency-injection android-navigation-drawer butterknife

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

HomeActivity有一个导航标题,导航标题还包含一些文本视图。是否可以绑定TextViews中的HomeActivity

以下是一些描述我的问题的代码

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>

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>

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

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

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

1 个答案:

答案 0 :(得分:2)

试试这个

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