Android 更改包含布局中的文本视图

Android 更改包含布局中的文本视图,android,android-layout,android-view,android-include,Android,Android Layout,Android View,Android Include,我试图在程序执行期间将TextView中的文本更改为从其他活动发送的数据 文本视图id=“@+id/userName”位于我的导航头\u主布局文件中 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height" android:backgr

我试图在程序执行期间将TextView中的文本更改为从其他活动发送的数据

文本视图
id=“@+id/userName”
位于我的导航头\u主布局文件中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height"
android:background="@color/primary_dark_material_dark"
android:theme="@style/ThemeOverlay.AppCompat.Dark" android:orientation="vertical"
android:gravity="bottom"
android:weightSum="1"
android:id="@+id/navigation_view">

<ImageView android:layout_width="83dp" android:layout_height="wrap_content"
    android:paddingTop="@dimen/nav_header_vertical_spacing"
    android:src="@mipmap/user" android:id="@+id/imageView"
    android:layout_weight="0.84" />

<TextView
    android:id="@+id/userName"
    android:layout_width="match_parent" android:layout_height="wrap_content"
    android:paddingTop="@dimen/nav_header_vertical_spacing"
    android:text="hello"
    android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:text="hello" android:id="@+id/userDetail" />
</LinearLayout>
但在执行过程中仍然会出现“空指针错误”。我是否错过了一些让事情正常运行的东西?

对于未来的用户:

首先,需要获取标题视图:
view header=nav_view.getHeaderView(0)

然后获取您的小部件:
userName=(TextView)header.findviewbyd(R.id.userName)

适用于未来用户:

首先,需要获取标题视图:
view header=nav_view.getHeaderView(0)


然后获取您的小部件:
userName=(TextView)header.findviewbyd(R.id.userName)

main.xml是您试图更改TextView的活动的xml文件?否,它位于nav_header_main.xml中。。我应该在问题中补充一点……发布你的nav_header_main.xml和你试图设置文本的活动的onCreate()方法。@Rami按你的要求上传的文件你能发布你的onCreate吗?可能像fullymain一样。xml是你试图更改TextView的活动的xml文件吗?不,它在nav_header_main.xml中。。我应该在问题中补充一点……发布您的nav_header_main.xml和您试图设置文本的活动的onCreate()方法。@Rami按照您的要求上传的文件能否完整发布您的onCreate
<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_main"     app:menu="@menu/activity_main_drawer" />
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
NavigationView nav_view= (NavigationView)findViewById(R.id.nav_view);
userName = (TextView) nav_view.findViewById(R.id.userName);
String user = getIntent().getExtras().getString("User");
userName.setText(user); //user is a string