0
내 안드로이드 앱에 문제가 있습니다. 파이어베이스에서 데이터 (위도와 경도)가있는 스피너가 있습니다. 상기 다른 옵션 스피너를 클릭하면 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