Так что, очевидно, @Vinay Avasthi прав, Firebase не показывает пустой ArrayList
в базе данных, поэтому, если вы инициализируете свой объект и передаете пустой ArrayList
в свой конструктор, то ArrayList
не будетпоказать в Firebase
, что еще больше дает вам еще одну проблему;В будущем, если вы хотите добавить данные в список, вы не сможете сделать это, так как это дает вам NullPointerException
, поэтому для решения всех этих проблем мне нужно было передать ArrayList
с пустым String
, а затемя мог бы показать, что List
в firebase
и легко сослаться на него.
ArrayList<String> following = new ArrayList<>();
following.add("");
UserBean userBean = new UserBean(mUsername.toLowerCase(),0,0,following);
mUserDatabase.push().setValue(userBean);
Еще одна важная вещь, на которую следует обратить внимание, также отмеченная @Vinay Avasthi, заключается в том, что вы также должны установить значениеснова перечислите в свой новый список, иначе вы бы добавили данные в список, но данные не будут обновляться в Firebase
.
ArrayList<String> following = (ArrayList<String>) data.child("following").getValue();
following.add(username);
String key = data.getKey();
mUsersReference.child(key).child("following").setValue(following);
Но есть еще одна проблема, с которой я сталкиваюсь,что в каждом списке у вас будет пустой String
, который вам не нужен.
На данный момент я просто проигнорирую пустойString
показывая пользователям их followings
.Но я думаю, firebase
должен был создать пустое ArrayList
.