Mobile_Application_Developm.../AirKoality/app/src/main/java/at/fhj/airkoality/ui/fragment/LocationListFragment.java

61 lines
2.0 KiB
Java

package at.fhj.airkoality.ui.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import at.fhj.airkoality.R;
import at.fhj.airkoality.db.room.AirKoalityDB;
import at.fhj.airkoality.model.Location;
import at.fhj.airkoality.model.Measurement;
import at.fhj.airkoality.ui.activity.MeasurementActivity;
import at.fhj.airkoality.ui.adapter.LocationListAdapter;
public class LocationListFragment extends Fragment implements LocationListAdapter.ItemClickListener {
private RecyclerView locationList;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_location_list, container, false);
locationList = view.findViewById(R.id.rvLocationList);
List<Location> locations = new ArrayList<>();
locationList.setLayoutManager(new LinearLayoutManager(getContext()));
return view;
}
private void fetchLocations() {
LocationListAdapter adapter = new LocationListAdapter(AirKoalityDB.getDatabase(getContext()).locationDAO().getAll(),this);
locationList.setAdapter(adapter);
}
public void refresh(){
fetchLocations();
}
@Override
public void onItemClicked(Location location, int position) {
Toast.makeText(getContext(), "Clicked " + location, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getContext(), MeasurementActivity.class);
intent.putExtra("location_name", location.getLocation());
startActivity(intent);
}
}