2017-05-20 1 views
0

Mon application utilise FirebaseListAdapter personnalisé. J'ai créé AreaGridAdap.java,Erreur "Impossible de convertir l'objet de type" dans personnalisé FirebaseListAdapter

public class AreaGridAdap { 

    String gridArea; 

    public AreaGridAdap(){ 

    } 

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


    public String getGridArea() { 
     return gridArea; 
    } 
} 

c'est mon 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()); 
      } 
     }; 

Pour la première fois que je l'ai utilisé par défaut FirebaseListAdapter et il a bien fonctionné. Mais quand j'utilise la coutume FirebaseListAdapter, plantage de mon application et je suis arrivé ce que mon message d'erreur:

com.google.firebase.database.DatabaseException: Impossible de convertir objet de type java.lang.String pour taper trickandroid .fulllogin.AreaGridAdap

Aidez-moi à résoudre cette erreur.

Répondre

2

Ce message d'erreur signifie que la structure de données sous databaseReference ne correspond pas à votre code. Il semble que vous avez une structure de données comme ceci:

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

Bien que votre code est fait pour gérer cette structure:

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

m'a sauvé jour ...:) ... J'ai un autre problème, pouvez-vous m'aider dans cela? – Simon

+0

J'ai récupéré les valeurs de la base de données en utilisant FirebaseListAdapter et je l'ai affichée dans un gridView. J'ai besoin de définir 'OnItemClickListener' pour le GridView et quand un élément est cliqué, une nouvelle activité doit être ouverte avec la grille élément affiché dans l'activité. Aidez-moi avec Intents et putExtras. – Simon

+0

Pour un autre problème qui n'est pas lié à celui-ci, vous devez poster une autre question afin que Frank ou d'autres utilisateurs puissent y répondre. –