java.lang.ClassCastException:java.lang.Stringをjava.lang.Doubleにキャストできません

Savindri

データベース(リアルタイムFirebase)から値を取得した後、値を乗算して別の変数に割り当てたいと思います。このようにしようとしましたが、エラーが発生します。誰か助けてくれませんか?

 private void getData(final TextView deliCha) {
        rootRef.child(appId).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                double Distance = (double) dataSnapshot.child("Distance").getValue();
                double charge = Distance*100.0;
                deliCha.setText(String.valueOf(charge));
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
    }

これはエラーです。

    Process: com.example.ketomate, PID: 13156
    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double
        at com.example.ketomate.BillDetailsForPaymentAndDelivery$2.onDataChange(BillDetailsForPaymentAndDelivery.java:121)
        at com.google.firebase.database.Query$1.onDataChange(Query.java:179)
        at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75)
        at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)
        at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

ダグスティーブンソン

データベースの内容を見なくても、「Distance」という子の値は文字列値であり、Doubleではないと結論付けることができます。文字列を単にdoubleにキャストすることはできません。

最初に行うことは、データベースに値を書き込む方法を修正することです。文字列値を書き込む代わりに、最初にそれらをdoubleに変換して、Firestoreがそれらをdoubleとして返すようにします。

それができない場合は、文字列を読み取るときに文字列をdoubleに変換する必要があります。

String distance = dataSnapshot.child("Distance").getValue(String.class);
double doubleDistance = Double.parseDouble(Distance);
double charge = doubleDistance * 100.0;
deliCha.setText(Double.toString(charge));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

java.lang.ClassCastException:Zをjava.lang.Stringにキャストできません

分類Dev

java.lang.ClassCastException:[Ljava.lang.Object; [Ljava.lang.String;にキャストできません。

分類Dev

java.lang.ClassCastException:java 1.6では、java.lang.Longをjava.lang.Integerにキャストできません

分類Dev

ClassCastException:java.lang.Object []をjava.lang.String [] androidにキャストできません

分類Dev

java.lang.ClassCastException

分類Dev

java.lang.ClassCastException:[Bはjava.lang.Stringにキャストできません

分類Dev

java.lang.ClassCastException:[B> java.lang.Stringにキャストできません

分類Dev

ネストされた例外はjava.lang.ClassCastExceptionです:java.lang.Stringをキャストできません

分類Dev

AsyncTask:ClassCastException:java.lang.Object []をjava.lang.String []にキャストできません

分類Dev

RDD [LabeledPoint]の作成:java.lang.ClassCastException:java.lang.Longをjava.lang.Doubleにキャストできません

分類Dev

java.lang.ClassCastException:java.lang.Doubleをjava.lang.Stringにキャストできません

分類Dev

java.lang.ClassCastException:java.lang.Object []をにキャストできません

分類Dev

java.lang.ClassCastException:org.apache.avro.generic.GenericData $ Recordをjava.lang.Stringにキャストできません

分類Dev

Kotlin:java.lang.ClassCastException:java.lang.Longをjava.lang.Integerにキャストできません

分類Dev

java.lang.ClassCastException:java.lang.Integerをjava.lang.Doubleにキャストできません

分類Dev

Hibernate:java.lang.ClassCastException:java.lang.Integerをjava.lang.Doubleにキャストできません

分類Dev

java.lang.ClassCastException:クラスjava.sql.Dateをjava.lang.Stringにキャストできません

分類Dev

修正方法:java.lang.ClassCastException:java.util.ArrayListをjava.lang.Integerにキャストできません

分類Dev

java.lang.ClassCastException:com.model.Imageをjava.lang.Stringにキャストできません

分類Dev

原因:java.lang.ClassCastException:java.lang.Classをjava.lang.reflect.ParameterizedTypeにキャストできません

分類Dev

java.lang.RuntimeException:java.lang.ClassCastException:java.lang.Longをjava.lang.Stringにキャストできません

分類Dev

java.lang.ClassCastException:java.lang.Stringをcom.parse.ParseUserにキャストできません

分類Dev

Android HashMap java.lang.ClassCastException:java.lang.Integerをjava.util.Map $ Entryにキャストできません

分類Dev

java.lang.ClassCastException:[Ljava.lang.String; java.lang.Stringにキャストできません

分類Dev

java.lang.ClassCastException:[Ljava.lang.Object; classNameにキャストできません

分類Dev

ClassCastException:JSONArrayをjava.lang.String []にキャストできません

分類Dev

java.lang.ClassCastException:java.util.Arrays $ ArrayListをjava.lang.Integerにキャストできません

分類Dev

java.lang.ClassCastException:[java.lang.Integerにキャストできません

分類Dev

java.lang.ClassCastException:java.lang.Stringをtableauのjava.lang.Integerにキャストできませんか?

Related 関連記事

  1. 1

    java.lang.ClassCastException:Zをjava.lang.Stringにキャストできません

  2. 2

    java.lang.ClassCastException:[Ljava.lang.Object; [Ljava.lang.String;にキャストできません。

  3. 3

    java.lang.ClassCastException:java 1.6では、java.lang.Longをjava.lang.Integerにキャストできません

  4. 4

    ClassCastException:java.lang.Object []をjava.lang.String [] androidにキャストできません

  5. 5

    java.lang.ClassCastException

  6. 6

    java.lang.ClassCastException:[Bはjava.lang.Stringにキャストできません

  7. 7

    java.lang.ClassCastException:[B> java.lang.Stringにキャストできません

  8. 8

    ネストされた例外はjava.lang.ClassCastExceptionです:java.lang.Stringをキャストできません

  9. 9

    AsyncTask:ClassCastException:java.lang.Object []をjava.lang.String []にキャストできません

  10. 10

    RDD [LabeledPoint]の作成:java.lang.ClassCastException:java.lang.Longをjava.lang.Doubleにキャストできません

  11. 11

    java.lang.ClassCastException:java.lang.Doubleをjava.lang.Stringにキャストできません

  12. 12

    java.lang.ClassCastException:java.lang.Object []をにキャストできません

  13. 13

    java.lang.ClassCastException:org.apache.avro.generic.GenericData $ Recordをjava.lang.Stringにキャストできません

  14. 14

    Kotlin:java.lang.ClassCastException:java.lang.Longをjava.lang.Integerにキャストできません

  15. 15

    java.lang.ClassCastException:java.lang.Integerをjava.lang.Doubleにキャストできません

  16. 16

    Hibernate:java.lang.ClassCastException:java.lang.Integerをjava.lang.Doubleにキャストできません

  17. 17

    java.lang.ClassCastException:クラスjava.sql.Dateをjava.lang.Stringにキャストできません

  18. 18

    修正方法:java.lang.ClassCastException:java.util.ArrayListをjava.lang.Integerにキャストできません

  19. 19

    java.lang.ClassCastException:com.model.Imageをjava.lang.Stringにキャストできません

  20. 20

    原因:java.lang.ClassCastException:java.lang.Classをjava.lang.reflect.ParameterizedTypeにキャストできません

  21. 21

    java.lang.RuntimeException:java.lang.ClassCastException:java.lang.Longをjava.lang.Stringにキャストできません

  22. 22

    java.lang.ClassCastException:java.lang.Stringをcom.parse.ParseUserにキャストできません

  23. 23

    Android HashMap java.lang.ClassCastException:java.lang.Integerをjava.util.Map $ Entryにキャストできません

  24. 24

    java.lang.ClassCastException:[Ljava.lang.String; java.lang.Stringにキャストできません

  25. 25

    java.lang.ClassCastException:[Ljava.lang.Object; classNameにキャストできません

  26. 26

    ClassCastException:JSONArrayをjava.lang.String []にキャストできません

  27. 27

    java.lang.ClassCastException:java.util.Arrays $ ArrayListをjava.lang.Integerにキャストできません

  28. 28

    java.lang.ClassCastException:[java.lang.Integerにキャストできません

  29. 29

    java.lang.ClassCastException:java.lang.Stringをtableauのjava.lang.Integerにキャストできませんか?

ホットタグ

アーカイブ