java - मानचित्र तथा घर



Deserializing करते समय एक मानचित्र की अपेक्षा की, लेकिन एक वर्ग java.lang.Long मिला (0)

मुझे इस त्रुटि मिल रही है "deserializing करते समय एक मानचित्र की अपेक्षा की गई, लेकिन एक वर्ग java.lang.Long मिला" जब मैं फायरबेज डेटाबेस का उपयोग करता हूं मैंने कुछ सवाल stackoverflow पर एक ही समस्या पर देखा लेकिन एक प्रासंगिक समाधान नहीं मिला।

यह फायरबसे से डेटा को संग्रहीत करने के लिए मेरा पॉजो वर्ग है I

public class News {
public String topic;
public String detail;
public String user;
public Map<String, String> timestamp = null;

public News(){

}

public News(String topic, String detail, String user, HashMap<String, String> timeStamp){
    this.topic = topic;
    this.detail = detail;
    this.user = user;
    this.timestamp = timeStamp;
    //this.timestamp.put("timestamp", timeStamp);
    //this.timestamp.put("timestamp", ServerValue.TIMESTAMP);
}

public String getTopic(){
    return topic;
}

public String getDetail(){
    return detail;
}

@Exclude
public Map<String, Object> toMap() {
    HashMap<String, Object> result = new HashMap<>();

    result.put("topic", topic);
    result.put("detail", detail);
    result.put("user", user);
    result.put("timestamp", timestamp);

    return  result;
}
}

और यह मुख्य वर्ग जहां मुझे फायरबेस से डेटा मिलता है।

public class News_M extends AppCompatActivity {

FirebaseListAdapter mAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_news);

    ListView messagesView = (ListView) findViewById(R.id.listview);

    DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("abc").child("news");
    //News msg = new News("Holiday", "28 October", "fayeed", ServerValue.TIMESTAMP);
    //ref.push().setValue(msg);

    mAdapter = new FirebaseListAdapter<News>(this, News.class, android.R.layout.two_line_list_item, ref) {
        @Override
        protected void populateView(View view, News newsMessage, int position) {
            ((TextView)view.findViewById(android.R.id.text1)).setText(newsMessage.getTopic());
                 ((TextView)view.findViewById(android.R.id.text2)).setText(newsMessage.getDetail(      ));
        }
    };

    messagesView.setAdapter(mAdapter);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    mAdapter.cleanup();
}
}