MeteoriteDB

Log | Files | Refs | README

commit c62f1fdb933c53f87ded9cfe7a70e62ea840f004
parent 47c027315110f83194fcc07538cca340cb2e95e6
Author: William Lindholm <william_lindholm@outlook.com>
Date:   Sat,  6 May 2023 19:37:51 +0200

Added listener to seekbar for filter options.

Diffstat:
Mapp/src/main/java/com/example/project_assignment/MainActivity.java | 46+++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 43 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/example/project_assignment/MainActivity.java b/app/src/main/java/com/example/project_assignment/MainActivity.java @@ -4,6 +4,7 @@ import android.Manifest; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.app.ActivityCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -16,12 +17,16 @@ import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.util.Log; +import android.view.Gravity; +import android.view.LayoutInflater; import android.view.View; +import android.widget.PopupWindow; +import android.widget.SeekBar; +import android.widget.TextView; import android.widget.Toast; import com.example.project_assignment.comparators.SortByLocation; import com.example.project_assignment.comparators.SortByName; -import com.example.project_assignment.comparators.SortByWeight; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -105,8 +110,9 @@ public class MainActivity extends AppCompatActivity implements JsonTask.JsonTask masSortButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Collections.sort(meteorites, new SortByWeight()); - adapter.notifyDataSetChanged(); + showFilterOptions(findViewById(android.R.id.content)); + //Collections.sort(meteorites, new SortByWeight()); + //adapter.notifyDataSetChanged(); } }); } @@ -134,6 +140,40 @@ public class MainActivity extends AppCompatActivity implements JsonTask.JsonTask adapter.notifyDataSetChanged(); } + private void showFilterOptions(View view) { + LayoutInflater inflater = (LayoutInflater) + getSystemService(LAYOUT_INFLATER_SERVICE); + View popupView = inflater.inflate(R.layout.filter_popup, null); + + int width = ConstraintLayout.LayoutParams.MATCH_PARENT; + int height = ConstraintLayout.LayoutParams.MATCH_PARENT; + boolean focusable = false; // lets taps outside the popup also dismiss it + final PopupWindow popupWindow = new PopupWindow(popupView, width, height, focusable); + + popupWindow.showAtLocation(view, Gravity.CENTER, 0, 0); + + TextView distanceProgress = popupView.findViewById(R.id.distanceProgress); + + SeekBar seekBar = popupView.findViewById(R.id.distanceBar); + seekBar.setMax(10000); //set max value of seekbar to 20000km + seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { + @Override + public void onProgressChanged(SeekBar seekBar, int i, boolean b) { + distanceProgress.setText(seekBar.getProgress() + "km"); + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + + } + }); + } + @Override public void onLocationChanged(@NonNull Location location) {