我剛剛接觸android,剛剛學會創建一個像Facebook或Instagram的用戶配置文件,目前我已經註冊了四個用戶的電子郵件/密碼,並在數據庫中存儲電子郵件,姓名,電話。在另一項活動中,我試圖只抓取Facebook上的「你可能認識的人」等註冊用戶的名字,但它什麼也沒有顯示。如何列出Android中的註冊用戶名(Firebase)?
private void showData(DataSnapshot dataSnapshot) {
for (DataSnapshot ds: dataSnapshot.getChildren()) {
UserInformation userInformation = new UserInformation();
userInformation.setName(ds.child("users").child("name").getValue(UserInformation.class).getName());
ArrayList<String> array = new ArrayList<>();
array.add(userInformation.getName());
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, array);
mListView.setAdapter(adapter);
}
這是正確的方式來獲取它,因爲我得到NullPointerException,UserInformation是包含getter和setter的模型類。
fire-18b42
users
KWE45gijkfJDK6782IBkjas(UID)
email: "@example.com"
name: "Example"
phone_num: 10000000
這是我所儲存的數據,數據庫,一旦用戶註冊, 現在這個樣子我有四個用戶,我想提取單獨的ListView每一個名字的人。
謝謝你它的工作... –
它的工作良好的日誌,但它不顯示列表中的所有名稱,它只顯示一個名稱 –
可能它顯示的是最後一個名字。發生這種情況的原因是'ArrayList'的聲明必須位於'onDataChange()'方法內部並且'for loop'之外。在'for循環'裏面的Beeing意味着你每次循環時都會創建一個'ArrayList'的新實例。 –