将联系人号码与 android 中的 firebase 数据库 phone 号码进行比较时出错
Error to comparing contact number with firebase database phone number in android
**
我的应用很受欢迎 将联系人号码与 android 中的 firebase 数据库 phone 号码进行比较时出错 userlist.add(mUser) 中的错误;在主要活动中: [在此处输入图片描述][1]
**
E/AndroidRuntime:致命异常:main
java.lang.NullPointerException
at com.example.mohaiminur.com.whatp.MainActivity$LoadContact.onDataChange(MainActivity.java:160)
at com.google.firebase.database.zzp.onDataChange(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzfc.zza(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzgx.zzdr(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzhd.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:800)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:194)
at
您永远不会在任何地方初始化 userList
。当您调用 userlist.add(mUser);
时会得到 NullPointerException
,因为您无法将用户添加到不存在的列表中。
要解决此问题,请先创建列表,然后再尝试向其中添加用户。例如,在 onCreate
:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView) findViewById(R.id.contacts_list);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(layoutManager);
selectUsers = new ArrayList<Contacts>();
showContacts();
userList = new ArrayList<>();
}
您的 ArrayList 未初始化,这就是您的应用程序崩溃的原因。首先初始化你的 ArrayList。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView)
findViewById(R.id.contacts_list);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(layoutManager);
selectUsers = new ArrayList<Contacts>();
userlist = new ArrayList<Contacts>();
showContacts();
}