Android - java.util.Map 类具有泛型类型参数,请使用 GenericTypeIndicator 代替

Dav*_*d99 5 java android firebase firebase-realtime-database

我知道有很多像我这样的类似问题,但我已经阅读并尝试了所有内容,但仍然无法解决这个问题。我想要实现的目标是用 firebase 中的数据填充我的列表视图。我正在关注 YouTube 上的教程,但我添加了一些内容,特别是时间戳。错误出现在我的 for 循环中并显示:

类 java.util.Map 有泛型类型参数,请使用 GenericTypeIndicator 代替

这是我的数据库,如下所示:

我的数据库

我的笔记.java

    public class Notes {
String noteId;
String noteCategory;
String note;
String rating;
public Map timeStamp;

public Notes(){

}

public Notes(String noteId, String noteCategory, String note, String rating, Map timeStamp) {
    this.noteId = noteId;
    this.noteCategory = noteCategory;
    this.note = note;
    this.rating = rating;
    this.timeStamp = timeStamp;
}


public String getNoteId() {
    return noteId;
}

public String getNoteCategory() {
    return noteCategory;
}

public String getNote() {
    return note;
}

public String getRating() {
    return rating;
}

public Map<String,String> getTimeStamp() { return timeStamp;}
}
Run Code Online (Sandbox Code Playgroud)

下面是我的 NoteList.java

@Override
protected void onStart() {
    super.onStart();
    databaseNotes.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            notesList.clear();
            for(DataSnapshot noteSnapshot : dataSnapshot.getChildren()){
                Notes notes = noteSnapshot.getValue(Notes.class);
                notesList.add(notes);

            }

            NoteList adapter = new NoteList(MyNotes.this, notesList);
            listViewNotes.setAdapter(adapter);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激!先感谢您。

编辑:好的,我已经尝试了建议的答案,在我记录地图后,它在控制台上显示了我的数据。但是,如何将我的地图迭代到列表视图中?

Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
Run Code Online (Sandbox Code Playgroud)

reg*_*ham 1

从您的数据库来看,您似乎应该使用intlong键入而不是map类型,因为您的时间戳具有数字值