70 lines
2.2 KiB
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);
|
|
|
|
}
|
|
}
|
|
}
|