如何绑定 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);
我们正在使用 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);