2017-05-20 83 views
0

我的應用使用自定義FirebaseListAdapter。我已經創建AreaGridAdap.java,自定義FirebaseListAdapter中的「無法轉換類型對象」錯誤

public class AreaGridAdap { 

    String gridArea; 

    public AreaGridAdap(){ 

    } 

    public AreaGridAdap(String gridArea) { 
     this.gridArea = gridArea; 
    } 


    public String getGridArea() { 
     return gridArea; 
    } 
} 

這是我firebaseListAdapter,

final FirebaseListAdapter<AreaGridAdap> firebaseListAdapter = new FirebaseListAdapter<AreaGridAdap> (AreaGridActivity.this, 
       AreaGridAdap.class, 
       R.layout.area_grid, 
       databaseReference) { 
      @Override 
      protected void populateView(View v, AreaGridAdap model, int position) { 

       areaTextView = (TextView) v.findViewById(R.id.areaGridText); 

       areaTextView.setText(model.getGridArea()); 
      } 
     }; 

因爲我已經使用默認FirebaseListAdapter第一次和它工作得很好。但是,當我使用自定義FirebaseListAdapter,我的應用程序崩潰,我得到這個作爲我的錯誤信息:

com.google.firebase.database.DatabaseException:無法轉換java.lang.String類型的對象鍵入trickandroid .fulllogin.AreaGridAdap

幫我解決這個錯誤。

回答

2

此錯誤消息表示databaseReference下的數據結構與您的代碼不匹配。它看起來像你有一個數據結構是這樣的:

-K....1: "First value" 
-K....2: "Second value" 
-K....3: "Third value" 

當你的代碼是由處理這種結構:

-K....1: { 
    gridArea: "First value" 
} 
-K....2: { 
    gridArea: "Second value" 
} 
-K....3: { 
    gridArea: "Third value" 
} 
+0

救了我的一天...:)...我有一個問題,你能幫我嗎? – Simon

+0

我使用FirebaseListAdapter從數據庫中獲取值並將其顯示在gridView中。我需要爲GridView設置「OnItemClickListener」,並且當一個項目被點擊時,應該用活動中顯示的柵格項目打開新的活動。幫助我的intents和putExtras。 – Simon

+0

對於與此不相關的另一個問題,您需要發佈另一個問題,以便Frank或其他用戶可以回答。 –

相關問題