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) {
}
});
感謝:)
感謝の兄弟が働いた – AkashK