Android 我试图从firebase中检索数据,但不知怎的,时间戳是以java.util.data格式接收的

Android 我试图从firebase中检索数据,但不知怎的,时间戳是以java.util.data格式接收的,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,E/AndroidRuntime:致命异常:主进程:com.example.photoblog,PID:23142 java.lang.IllegalArgumentException:方法com.example.photoblog.BlogPost.setTimestamp参数1的类型为java.sql.Timestamp,获取了java.util.Date。com.example.photoblog.HomeFragment$1.onEvent(HomeFragment.java:60)co

E/AndroidRuntime:致命异常:主进程:com.example.photoblog,PID:23142 java.lang.IllegalArgumentException:方法com.example.photoblog.BlogPost.setTimestamp参数1的类型为java.sql.Timestamp,获取了java.util.Date。com.example.photoblog.HomeFragment$1.onEvent(HomeFragment.java:60)com.example.photoblog.HomeFragment$1.onEvent(HomeFragment.java:52)

这是我的密码

公共类HomeFragment扩展了片段{

private RecyclerView blog_view;
private List<BlogPost> blog_list;
private FirebaseFirestore firebaseFirestore;
private Adapter adapter;
public HomeFragment() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view=inflater.inflate(R.layout.fragment_home, container, false);
    blog_list=new ArrayList<>();
    blog_view=view.findViewById(R.id.blog_view);
    firebaseFirestore=FirebaseFirestore.getInstance();
    adapter=new Adapter(blog_list);
    blog_view.setLayoutManager(new LinearLayoutManager(getActivity()));
    blog_view.setAdapter(adapter);

    firebaseFirestore.collection("Posts").addSnapshotListener(new EventListener<QuerySnapshot>() {
        @Override
        public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {

            for(DocumentChange doc: queryDocumentSnapshots.getDocumentChanges())
            {
                if(doc.getType()==DocumentChange.Type.ADDED)
                {
                    BlogPost blogPost=doc.getDocument().toObject(BlogPost.class);
                    blog_list.add(blogPost);
                    adapter.notifyDataSetChanged();
                }
            }
        }
    });


    return view;
}
private RecyclerView blog\u查看;
私人名单;
私人FirebaseFirestore FirebaseFirestore;
专用适配器;
公共HomeFragment(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图=充气机。充气(R.layout.fragment\u home,container,false);
blog_list=new ArrayList();
blog_view=view.findviewbyd(R.id.blog_view);
firebaseFirestore=firebaseFirestore.getInstance();
适配器=新适配器(博客列表);
blog_view.setLayoutManager(新的LinearLayoutManager(getActivity());
blog_view.setAdapter(适配器);
firebaseFirestore.collection(“Posts”).addSnapshotListener(新的EventListener(){
@凌驾
public void OneEvent(@Nullable QuerySnapshot queryDocumentSnapshots,@Nullable FirebaseFirestoreException e){
对于(DocumentChange文档:queryDocumentSnapshots.getDocumentChanges())
{
if(doc.getType()==DocumentChange.Type.ADDED)
{
BlogPost BlogPost=doc.getDocument().toObject(BlogPost.class);
blog_list.add(blogPost);
adapter.notifyDataSetChanged();
}
}
}
});
返回视图;
}

}

在对象类中,必须导入错误的时间戳


检查您的导入。它必须是
com.google.firebase.Timestamp

请查看是否已将字段数据类型添加到firebase中的Timestamp,您只能在具有相同数据类型的代码中获取相同的数据类型,但如果希望将该值转换为字符串,只需将该值转换为string.public Timestamp getTimestamp(){return Timestamp;}public void setTimestamp(Timestamp Timestamp){this.Timestamp=Timestamp;}我使用的是相同的数据类型