2017-11-30 15 views
0

私はアンドロイドのapp.IにFirebaseからデータ(緯度と経度)を取得するスピナーを持っています。別のオプションスピナーをクリックしたときに0ここでスピナーの値が自動的に位置0に更新され、ファイアベースからのデータが取得されます

私のコードは..ですその値をとるが、その後いくつかの時間後には自動的に0を配置するために更新し、位置の値を取る

databaseReference = FirebaseDatabase.getInstance().getReference(); 
    databaseReference.addValueEventListener(new ValueEventListener() { 
               @Override 
               public void onDataChange(DataSnapshot dataSnapshot) { 
                list.clear(); 
                for (DataSnapshot child : dataSnapshot.getChildren()) { 
                 list.add(child.getKey()); 
                } 
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(MapsActivity.this, android.R.layout.simple_spinner_item, list); 
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
                spinner.setAdapter(adapter); 
                spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
                 @Override 
                 public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
                  node = spinner.getSelectedItem().toString(); 
                  ref = FirebaseDatabase.getInstance().getReference(node); 
                  ref.addValueEventListener(new ValueEventListener() { 
                   @Override 
                   public void onDataChange(DataSnapshot dataSnapshot) { 
                    latitude = (double) dataSnapshot.child("latitude/location").getValue(); 
                    longitude = (double) dataSnapshot.child("longitude/location").getValue(); 
                    mapFragment.getMapAsync(MapsActivity.this); 


                   } 


                   @Override 
                   public void onCancelled(DatabaseError databaseError) { 
                    throw databaseError.toException(); // don't ignore errors 
                   } 
                  }); 

                 } 


                 @Override 
                 public void onNothingSelected(AdapterView<?> adapterView) { 

                 } 
                }); 

感謝:)

答えて

1


addValueEventListener()の代わりにaddListenerForSingleValueEvent()を使用してください。
あなたのお役に立てば幸いです。

+0

感謝の兄弟が働いた – AkashK

関連する問題