java - 无法转换 java.lang.Boolean 类型的对象
问题描述
我在这个主题中查看了很多主题,但我无法在我自己的代码中调整代码。因为显然有一个我看不到的错误。我得到了错误。
EpisodeModel.class
公共类 EpisodeModel {
private String episode;
public EpisodeModel(String episode) {
this.episode = episode;
}
public EpisodeModel()
{
}
public String getEpisode() {
return episode;
}
public void setEpisode(String episode) {
this.episode = episode;
}
@Override
public String toString() {
return "EpisodeModel{" +
"episode='" + episode + '\'' +
'}';
}
}
MyFragment.class
public void check() {
ref.child("Users").child(user.getUid()).child("Watched").child(seriesTitle).child("Season").child(seasonGet)
.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
EpisodeModel episodeModel = dataSnapshot.getValue(EpisodeModel.class);
Log.i("child",episodeModel.toString());
Log.i("test","test2");
String st = dataSnapshot.getKey();
int no = Integer.parseInt(st);
if(!deneme.contains(no))
{
deneme.add(no);
}
checkModelTestAdapter.notifyDataSetChanged();
}
...onChildChanged..onChildRemoved..onChildMoved..onCancelled..}};
日志猫
Process: com.example.forev.seriesboiler, PID: 6959
com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.Boolean to type com.example.forev.seriesboiler.Models.EpisodeModel
at com.google.android.gms.internal.firebase_database.zzkt.zzb(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzkt.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.example.forev.seriesboiler.Fragments.SeriesDetailsFragment$1.onChildAdded(SeriesDetailsFragment.java:88)
at com.google.android.gms.internal.firebase_database.zzbt.zza(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzgx.zzdr(Unknown Source)
at com.google.android.gms.internal.firebase_database.zzhd.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
解决方案
EpisodeModel episodeModel = dataSnapshot.getValue(EpisodeModel.class);
在这一行中,您会收到错误消息,指出 Boolean 对象无法转换为 EpisodeModel。如果您将该子项的值设置为true或false(不带双引号),则可能会出现这种情况。再次查看并尝试在要设置为子值的“true”或“false”周围添加双引号。
推荐阅读
- c++ - 如何在派生类上使用初始化列表?
- python - 如何在 Python 中使用用户的输入调用方法
- reactjs - 一个功能组件内部可以有多个功能吗?
- excel - 将多个文件从不同文件夹复制到不同的目标文件夹
- reactjs - react.js 设置默认路由
- r - eval(substitute(x), data, parent.frame()) 中的错误:缺少参数“data”,没有默认值
- php - 如何显示和分组帖子?
- ios - 将 UIVisualEffectView 添加到 UIView 大小未知的部分
- jsp - javax.el.ELException:无法解析表达式 [${not empty short}]
- python - 在函数中将网格网格与矩阵乘法相结合的最佳方法