尝试在空对象引用上调用虚方法 - 如何正确更改TextView的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试在空对象引用上调用虚方法 - 如何正确更改TextView的值相关的知识,希望对你有一定的参考价值。

我知道我的问题究竟在哪里,我只是不知道如何解决它。我正在尝试更改TextView的值,并且使用我的代码,应用程序崩溃,我在标题中收到错误。

我的代码:

@Override
protected void onStart() {
    super.onStart();

    if(authenticate() == true) {
        displayUserDetails();
    } else {
        startActivity(new Intent(MainActivity.this, Login.class));
    }
}

private boolean authenticate() {
    return userLocalStore.getUserStatus();
}

private void displayUserDetails() {
    User user = userLocalStore.getLoggedInUser();

    final TextView userName = (TextView) findViewById(R.id.userName);
    userName.setText(user.name);
    final TextView userEmail = (TextView) findViewById(R.id.userEmail);
    userEmail.setText(user.email);
}

你有我的代码片段,如果你需要全班,我很乐意提供。先感谢您。

更新:

问题是内容视图,因为它被设置为activity_main,因为我无法切换到另一个,我只是这样做:

private void displayUserDetails() {
    User user = userLocalStore.getLoggedInUser();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
    View header=navigationView.getHeaderView(0);

    final TextView userName = (TextView) header.findViewById(R.id.userName);
    userName.setText(user.name);
    final TextView userEmail = (TextView) header.findViewById(R.id.userEmail);
    userEmail.setText(user.email);
}

以上是关于尝试在空对象引用上调用虚方法 - 如何正确更改TextView的值的主要内容,如果未能解决你的问题,请参考以下文章

尝试在空对象引用上调用虚方法'double android.location.Location.getLatitude()'[duplicate]

尝试在空对象引用上调用虚方法'boolean java.lang.String.equals(java.lang.Object)'

SearchView 尝试在空引用上调用虚方法

尝试在空对象引用[duplicate]上调用虚方法'java.io.File android.content.Context.getCacheDir()'

引起:java.lang.NullPointerException:尝试在空对象引用上调用虚方法'int org.json.JSONArray.length()'[duplicate]

Android:尝试在空对象引用[duplicate]上调用虚方法'void android.database.sqlite.SQLiteDatabase.execSQL(java.lang.