2017-09-06 49 views
0

我有android應用程序,我使用firebase填充列表,一切工作正常,直到我手動添加一個節點給孩子,現在即使我刪除了節點和代碼是完全一樣的,應用不斷崩潰和我得到上面的錯誤,這裏是代碼ClassCastException:java.lang.String不能轉換爲java.util.Map

final DatabaseReference groupRef = myRef.child("Groups").child(""); 
groupRef.addChildEventListener(new ChildEventListener() { 
      @Override 
      public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
       Map<String, String> map = (Map<String,String>) dataSnapshot.getValue(); 

       mLstGroups.add(new Group(map.get("name"))); 

       mGroupAdapter.notifyItemInserted(mLstGroups.size()-1); 

      } 

我的火力地堡數據庫是database

我的情態類

public class Group { 

    private String groupName; 


    public Group() { 

    } 

    public Group(String groupName) { 
     this.groupName = groupName; 
    } 

    public String getGroupName() { 
     return groupName; 
    } 
} 

logcat的:

09-06 14:28:54.322 11934-11934/example.com.groupeasy E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: example.com.groupeasy, PID: 11934 
    java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map 
     at example.com.groupeasy.fragments.GroupFragment$7.onChildAdded(GroupFragment.java:175) 
     at com.google.android.gms.internal.zzblz.zza(Unknown Source) 
     at com.google.android.gms.internal.zzbnz.zzYj(Unknown Source) 
     at com.google.android.gms.internal.zzboc$1.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:152) 
     at android.app.ActivityThread.main(ActivityThread.java:5497) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
09-06 14:28:54.323 11934-11934/example.com.groupeasy D/AppTracker: App Event: crash 
+1

這是所提到的代碼中的groupFragment類的行175? –

回答

0

可能是你dataSnapshot.getValue()將返回你一個字符串,而你正試圖強制轉換成地圖。但沒有更多的解釋,我不能告訴

+0

這真的很奇怪,因爲我剛剛評論了代碼,未註釋並運行,現在它運行完美。我沒有更改任何代碼!任何人都知道發生了什麼? –

相關問題