2017-11-03 6 views
0

私はAndroidベースのアプリケーションにfirebaseを使用しています。自分のユーザオブジェクトをデータベースに保存しています。私は、データベース内の情報からユーザオブジェクトを作成しようとしたときにしかし、私は次のエラーを取得する:Firebase:クラスjava.util.Listにジェネリック型のパラメータがあります

public class User implements Serializable { 
    public String email; 

    public Map<String, List<BasketballPlayer>> userRosters = new 
    HashMap<String, List<BasketballPlayer>>(); 


    public User(){ 

    } 

    public User(String email){ 
     this.email = email; 
    } 

} 

そして、これは私がしようとしているコードです:ここでは

com.google.firebase.database.DatabaseException: Class java.util.List has generic type parameters, please use GenericTypeIndicator instead 
     at com.google.android.gms.internal.zzear.zzb(Unknown Source) 
     at com.google.android.gms.internal.zzear.zza(Unknown Source) 
     at com.google.android.gms.internal.zzear.zza(Unknown Source) 
     at com.google.android.gms.internal.zzear.zzb(Unknown Source) 
     at com.google.android.gms.internal.zzeas.zze(Unknown Source) 
     at com.google.android.gms.internal.zzear.zzb(Unknown Source) 
     at com.google.android.gms.internal.zzear.zza(Unknown Source) 
     at com.google.android.gms.internal.zzear.zza(Unknown Source) 
     at com.google.android.gms.internal.zzear.zza(Unknown Source) 
     at com.google.android.gms.internal.zzear.zzb(Unknown Source) 
     at com.google.android.gms.internal.zzeas.zze(Unknown Source) 
     at com.google.android.gms.internal.zzear.zzb(Unknown Source) 
     at com.google.android.gms.internal.zzear.zza(Unknown Source) 
     at com.google.firebase.database.DataSnapshot.getValue(Unknown Source) 
     at christophershae.stats.CreateRoster$1.onDataChange(CreateRoster.java:88) 
     at com.google.android.gms.internal.zzduz.zza(Unknown Source) 
     at com.google.android.gms.internal.zzdwu.zzbvb(Unknown Source) 
     at com.google.android.gms.internal.zzdxa.run(Unknown Source) 
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:148) 
     at android.app.ActivityThread.main(ActivityThread.java:7325) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

は私のユーザークラスがあります新しいオブジェクトを作成するには:

@Override 
public void onDataChange(DataSnapshot dataSnapshot) { 
    user = dataSnapshot.child(userId).getValue(User.class); 

} 

答えて

0

を変更するには、この: -

user = dataSnapshot.child(userId).getValue(User.class); 

これに -

List<BasketBallPlayer> retrievedata=dataSnapshot.child(userId).getValue(userRosters); 
関連する問題