toast message implemented

This commit is contained in:
Philipp Wo 2019-03-08 20:23:28 +01:00
parent 6537d97d8a
commit 8118910a12
4 changed files with 35 additions and 5 deletions

View File

@ -36,4 +36,13 @@ public class Location {
public void setCounty(String county) { public void setCounty(String county) {
this.county = county; this.county = county;
} }
@Override
public String toString() {
return "Location{" +
"location='" + location + '\'' +
", city='" + city + '\'' +
", county='" + county + '\'' +
'}';
}
} }

View File

@ -9,6 +9,7 @@ import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -17,7 +18,7 @@ import at.fhj.airkoality.R;
import at.fhj.airkoality.model.Location; import at.fhj.airkoality.model.Location;
import at.fhj.airkoality.ui.adapter.LocationListAdapter; import at.fhj.airkoality.ui.adapter.LocationListAdapter;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity implements LocationListAdapter.ItemClickListener {
private RecyclerView locationList; private RecyclerView locationList;
@Override @Override
@ -38,11 +39,16 @@ private RecyclerView locationList;
locations.add(new Location("Daheim7", "Graz" , "Österreich")); locations.add(new Location("Daheim7", "Graz" , "Österreich"));
locations.add(new Location("Daheim8", "Graz" , "Österreich")); locations.add(new Location("Daheim8", "Graz" , "Österreich"));
LocationListAdapter adapter = new LocationListAdapter(locations); LocationListAdapter adapter = new LocationListAdapter(locations, this);
locationList.setAdapter(adapter); locationList.setAdapter(adapter);
locationList.setLayoutManager(new LinearLayoutManager(this)); locationList.setLayoutManager(new LinearLayoutManager(this));
} }
@Override
public void onItemClicked(Location location, int position) {
Toast.makeText(this, "Clicked " + location, Toast.LENGTH_SHORT).show();
}
} }

View File

@ -18,9 +18,11 @@ public class LocationListAdapter extends RecyclerView.Adapter<LocationListAdapte
private List<Location> locations; private List<Location> locations;
private ItemClickListener listener;
public LocationListAdapter(List<Location> locations){ public LocationListAdapter(List<Location> locations, ItemClickListener listener){
this.locations = locations; this.locations = locations;
this.listener = listener;
} }
@ -37,6 +39,14 @@ public class LocationListAdapter extends RecyclerView.Adapter<LocationListAdapte
Context context = locationItemViewHolder.tvLocation.getContext(); Context context = locationItemViewHolder.tvLocation.getContext();
locationItemViewHolder.cvLocationItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Location clickedLocation = locations.get(locationItemViewHolder.getAdapterPosition());
listener.onItemClicked(clickedLocation, locationItemViewHolder.getAdapterPosition());
}
});
locationItemViewHolder.tvLocation.setText(context.getString(R.string.location_label) + " " + locations.get(position).getLocation()); locationItemViewHolder.tvLocation.setText(context.getString(R.string.location_label) + " " + locations.get(position).getLocation());
locationItemViewHolder.tvCity.setText(context.getString(R.string.city_label) + " " + locations.get(position).getLocation()); locationItemViewHolder.tvCity.setText(context.getString(R.string.city_label) + " " + locations.get(position).getLocation());
locationItemViewHolder.tvCountry.setText(context.getString(R.string.country_label) + " " + locations.get(position).getLocation()); locationItemViewHolder.tvCountry.setText(context.getString(R.string.country_label) + " " + locations.get(position).getLocation());
@ -66,4 +76,9 @@ public class LocationListAdapter extends RecyclerView.Adapter<LocationListAdapte
} }
} }
public interface ItemClickListener {
void onItemClicked(Location location, int position);
}
} }

View File

@ -34,8 +34,8 @@
## 08.03.2019 - Lab 3 ## 08.03.2019 - Lab 3
Context -> weiß was in der App gerade "abgeht" (Java Objekt) Context -> weiß was in der App gerade "abgeht" (Java Objekt)
- Activity oder Application - Activity oder Application
- Immer Context der aktuellen Activity verwenden - Immer Context der aktuellen Activity verwenden
Best Practise kennengelernt um große Listen darzustellen Best Practise kennengelernt um große Listen darzustellen