0
내 위치 목록을 firebase에서 정렬하려고합니다. 목록은 가장 가까운 위치에서 현재 위치로 정렬해야합니다. 목록보기를 현재 위치의 가장 가까운 위치로 정렬하려면 어떻게해야합니까? 목록보기를 현재 위치의 가장 가까운 위치로 정렬하려면 어떻게해야합니까?
이
이 당신이 부동distanceTo
방법을 사용하고 가장 가까운 거리를 얻을 수있는 결과에
Collection.sort
을 사용할 수 있습니다 내 목록보기
public class AirConditioningActivity extends AppCompatActivity {
private DatabaseReference mDatabaseRef;
private List<AdminImageUpload> adimgList;
private ListView lvl;
private AdminImageListAdapter adapter;
private ProgressDialog progressDialog;
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_air_conditioning);
adimgList = new ArrayList<>();
lvl= (ListView) findViewById(R.id.listViewImage);
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Please wait loading list image...");
progressDialog.show();
firebaseAuth = FirebaseAuth.getInstance();
mDatabaseRef = FirebaseDatabase.getInstance().getReference(AdminKeyWorkshopsActivity.FB_DATABASE_PATH);
Query mQuery = mDatabaseRef.orderByChild("category").equalTo("AIR-CONDITIONING");
mQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
progressDialog.dismiss();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
AdminImageUpload image = snapshot.getValue(AdminImageUpload.class);
adimgList.add(image);
}
adapter = new AdminImageListAdapter(AirConditioningActivity.this, R.layout.admin_image_item, adimgList);
lvl.setAdapter(adapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
progressDialog.dismiss();
}
});
lvl.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
AdminImageUpload adimgList = (AdminImageUpload) adapterView.getAdapter().getItem(i);
Intent intent = new Intent(AirConditioningActivity.this, AdminDetailsOfWorkshops.class);
String name = adimgList.getName();
String address = adimgList.getAddress();
String contact = adimgList.getContact();
String category = adimgList.getCategory();
String url = adimgList.getUrl();
intent.putExtra("name", name);
intent.putExtra("address", address);
intent.putExtra("contact", contact);
intent.putExtra("category", category);
intent.putExtra("URL", url);
startActivity(intent);
}
});
}