Mobile_Application_Developm.../AirKoality/app/src/main/java/at/fhj/airkoality/ui/adapter/LocationListAdapter.java

70 lines
2.2 KiB
Java

package at.fhj.airkoality.ui.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
import at.fhj.airkoality.R;
import at.fhj.airkoality.model.Location;
public class LocationListAdapter extends RecyclerView.Adapter<LocationListAdapter.LocationItemViewHolder> {
private List<Location> locations;
public LocationListAdapter(List<Location> locations){
this.locations = locations;
}
@NonNull
@Override
public LocationItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.location_list_item,viewGroup,false);
return new LocationItemViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull LocationItemViewHolder locationItemViewHolder, int position) {
Context context = locationItemViewHolder.tvLocation.getContext();
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.tvCountry.setText(context.getString(R.string.country_label) + " " + locations.get(position).getLocation());
}
@Override
public int getItemCount() {
return locations.size();
}
class LocationItemViewHolder extends RecyclerView.ViewHolder{
CardView cvLocationItem;
TextView tvLocation;
TextView tvCity;
TextView tvCountry;
public LocationItemViewHolder(@NonNull View itemView){
super(itemView);
cvLocationItem = itemView.findViewById(R.id.cvLocationItem);
tvLocation = itemView.findViewById(R.id.tvlocation);
tvCity = itemView.findViewById(R.id.tvCity);
tvCountry = itemView.findViewById(R.id.tvCountry);
}
}
}