【问题标题】:setHasFixedSize(true) making the app crashsetHasFixedSize(true) 使应用程序崩溃
【发布时间】:2019-11-10 02:35:34
【问题描述】:

当我运行应用程序并转到用户的活动时,应用程序崩溃显示 mUsersList.setHasFixedSize(true);正在使应用程序崩溃。

这是消息“原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'void androidx.recyclerview.widget.RecyclerView.setHasFixedSize(boolean)'”

private RecyclerView mUsersList;
private DatabaseReference mUsersDatabase;

@Override
protected void onCreate( Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.users_single_layout);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    mUsersDatabase = FirebaseDatabase.getInstance().getReference().child("Users");




    mUsersList = findViewById(R.id.users_list);
    mUsersList.setHasFixedSize(true);
    mUsersList.setLayoutManager(new LinearLayoutManager(this));

}

【问题讨论】:

标签: java android


【解决方案1】:

堆栈跟踪会告诉您所需的一切。 mUsersList 为空,因此您不能在其上调用任何方法。您应该确保您的布局文件 R.layout.users_single_layout 有一个 RecyclerView,其中定义了 ID 为“@+id/users_list”。另外,你应该做一个空指针检查:

mUsersList = findViewById(R.id.users_list);
if (mUsersList != null) {
    mUsersList.setHasFixedSize(true);
    mUsersList.setLayoutManager(new LinearLayoutManager(this));
}

【讨论】:

  • 哦,是的,我忘了检查 setcontentview.. 谢谢
猜你喜欢
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
  • 1970-01-01
  • 2017-07-25
  • 2020-11-16
  • 1970-01-01
相关资源
最近更新 更多