-1
votes

java.lang.string ne peut pas être jeté à java.lang.long Firebase Realtime

Je vais avoir cette erreur que quelqu'un sait-il comment corriger? XXX PRE>

LOGCAT P>

@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    long v= (long) dataSnapshot.getValue(); // This is the line of error
    CountDownTimer countDownTimer=new CountDownTimer(v,1000) {
        @Override
        public void onTick(long millisUntilFinished) {
            mQnATimer.setText("time : "+millisUntilFinished/1000);
        }
        @Override
        public void onFinish() {

        }
    }.start();
}


2 commentaires

S'il vous plaît poster la structure de la base de données


Veuillez ajouter votre structure de base de données sous forme de fichier JSON ou au moins une capture d'écran. S'il vous plaît répondez également avec @AlexMamo


3 Réponses :


1
votes

Si votre résultat est une chaîne code> code> comme suit, vous devez utiliser long.parelong code> pour convertir. Il ne peut pas directement à long objet.

String str = "21111";
long num = Long.parseLong(str);


0 commentaires

1
votes

Firebase considère les valeurs sans citations doubles aussi longues ("8" comme chaîne et 8 aussi long). Assurez-vous donc d'avoir des données de chaîne avec des guillemets doubles dans votre base de données Firebase. En outre, utilisez .parelong () pour convertir.


0 commentaires

1
votes

Cela ressemble à un problème assez simple. Cependant, je ne peux rien dire sans voir votre structure de données réelle.

du logcat, on dirait que vous obtenez une valeur de la valeur et pendant que vous essayez de la jeter au long Vous obtenez une exception.

Je recommanderais de faire ce qui suit dans ce cas. xxx

si la chaîne ne dispose pas d'un valide , alors il devrait joindre une autre exception cependant. Cependant, comme je l'ai dit, il est difficile de comprendre le problème exact sans voir votre structure de base de données avec quelques données d'échantillon.

J'espère que cela aide.


0 commentaires