我有一个带有NavigationView的activity_main.xml:
<android.support.design.widget.NavigationView
android:id="@+id/nav_drawer"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/menu_drawer"
app:headerLayout="@layout/header"
app:itemIconTint="@color/colorAccent"
/>
我有一个标题布局,那里有一个textview。我想知道如何访问该textview?我的主要活动中的代码将更新该textview,但我不确定如何访问该textview。 header.xml不是活动的一部分。
在我的主要活动中,我有这段代码:
public void checkCurrentUser() {
ParseUser user = ParseUser.getCurrentUser();
if (user != null) {
nameOfCurrentUser.setText(user.getUsername());
}
}
将使用当前用户的用户名
更新该textview答案 0 :(得分:3)
您必须获取视图对象并找到元素
爪哇
View headerLayout = navigationView.getHeaderView(0);
useremail = (TextView) headerLayout.findViewById(R.id.tv_useremail);
XML
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_home"
app:menu="@menu/activity_home_drawer" />
答案 1 :(得分:0)
标头由xml调用。 所以你可以简单地使用:
TextView nameOfCurrentUser = (TextView) findViewById(R.id.YOURTEXTVIEWINHEADER);nameOfCurrentUser.setText(user.getUsername());