2017-01-17 7 views
-3

dataSnapshot Firebaseからデータを取得します。私のデータはすべてStringです。私はデータを取得することができますが、私はキャストすると、私のアプリが停止する文字列をダブルにキャストすることはできません。私を助けてください。キャストストリングのデータ型がFirebaseで倍増する

mReference.addChildEventListener(new ChildEventListener() { 
     @Override 
     public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
      String strName=(String) dataSnapshot.child("name").getValue(); 
      String strphone=(String) dataSnapshot.child("phone").getValue(); 
      String lati=(String) dataSnapshot.child("latitude").getValue(); 
      String longti=(String) dataSnapshot.child("longtitude").getValue(); 
      String strDiemden=(String) dataSnapshot.child("diemden").getValue(); 

      // double lati=Double.parseDouble(strLat); 
      // double longti=Double.parseDouble(strLong); 
      ; 
      mMap.addMarker(new MarkerOptions().position(new LatLng(lati,longti)).title(strName)); 
+0

(実際のJSONテキストでお願いします、スクリーンショットはありません)解析しようとしているJSONが表示されないと何がうまくいかないとは言えません。あなたがそれをしている間に、あなたが得たエラーのスタックトレースも含めてください。 –

+0

返事ありがとう、私はそれを解決しました。私の問題は、値がnullであるためキャストできず、Mapを使用してコンストラクタを使用する代わりにキャストできます。 –

+0

これを試してみてください。 http://stackoverflow.com/a/41691634/1343788 –

答えて

0

値がNULLかどうか は、次に使用される最初のチェックこの

ダブルL = Double.parseDouble(String.valueOf(child.getValue()))。

または

double l = Double.parseDouble(String.valueOf(dataSnapshot.child("latitude").getValue())

+1

ありがとうございました!私はそれを解決した –

0

これを試してください。

+0

ありがとう!私はそれを解決した –

+0

@ニックパム:良い!答えを受け入れてください。 –

関連する問題