TextView.setText()空指针异常

时间:2018-04-04 11:26:12

标签: java android mobile textview settext

我尝试在TextView的{​​{1}}方法中修改OnCreate的文字时遇到问题。据我了解,在尝试更改文本之前必须先调用Activity,但我仍然遇到此问题。

以下是相关代码:

setContentView

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dash_board); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); userEmailtext = (TextView) findViewById(R.id.emailText); mAuth = FirebaseAuth.getInstance(); mUser = mAuth.getCurrentUser(); userEmailtext.setText("This Does Not Work"); } 包含Activity默认滑动菜单。此Android Studio的目的是更改滑动菜单的电子邮件地址文本。我认为问题可能在于滑动菜单是不同布局文件的一部分,这意味着没有" emailText" textview导致setText,但我仍然不确定如何纠正这个问题。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

这取决于您的R.id.emailText组件的位置。

如果它直接在您的R.layout.activity_dash_board中,则代码应该有效。 如果它在R.id.nav_view中,您应该通过navigationView.findViewById(R.id.emailText)

与其联系

答案 1 :(得分:0)

您应该从NavigationView初始化TextView实例。在你的情况下:

userEmailtext = (TextView) navigationView.getHeaderView(0).findViewById(R.id.emailText);