0
我正在開發一個應用程序,其中的用戶可以有多個列表。我的火力地堡數據庫看起來是這樣的:如何使用HashMap <String,String>顯示來自Firebase數據庫的記錄?
,我使用的模型是這樣的:
public class UserModel {
private String userId;
private String userName;
private String userEmail;
private HashMap<String, String> lists;
public UserModel() {}
public void setUserId(String userId) {this.userId = userId;}
public String getUserId() {return userId;}
public void setUserName(String userName) {this.userName = userName;}
public String getUserName() {return userName;}
public void setUserEmail(String userEmail) {this.userEmail = userEmail;}
public String getUserEmail() {return userEmail;}
public void setLists(HashMap<String, String> lists) {this.lists = lists;}
public HashMap<String, String> getLists() {return lists;}
}
爲了顯示列表,我用一個FirebaseListAdapter
和ListView
。如果我使用這樣的代碼:
DatabaseReference listsRef = usersRef.child(userId).child("lists");
adapter = new FirebaseListAdapter<Map<String, String>>(MainActivity.this, Map.class, android.R.layout.simple_list_item_1, listsRef) {
@Override
protected void populateView(View v, Map<String, String> map, int position) {
for (Map.Entry<String, String> entry : map.entrySet()) {
Log.d(TAG, entry.getKey() + "/" + entry.getValue());
}
}
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
}
我得到這個錯誤:
Error:(221, 31) error: no suitable constructor found for FirebaseListAdapter
所有我想要做的就是使用HashMap
顯示the key
和the value
。我錯在哪裏?提前致謝!
其實,你幫了我很多。它正在工作。如果我使用'setOnItemClickListener'並使用'adapterView.getItemAtPosition(position);'我得到'listName'。你有什麼想法我怎麼能從'adapter'獲得'listKey'?非常感謝! –
您可以將'listKey'保存在另一個列表變量的某個位置,然後您可以根據位置檢索任何值。 :) @AlexM。 – Wilik
「另一個列表變量」,這是什麼意思?我如何根據職位獲取價值?再次感謝您的回答! –