package com.wealthfront.magellan.sample.advanced.tide;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import com.wealthfront.magellan.BaseScreenView;
import com.wealthfront.magellan.sample.advanced.R;
import butterknife.BindView;
import butterknife.ButterKnife;
import static butterknife.ButterKnife.bind;
class TideLocationsView extends BaseScreenView<TideLocationsScreen> {
@BindView(R.id.tideLocationsGrid)
GridView tideLocationsList;
TideLocationsView(Context context) {
super(context);
inflate(context, R.layout.home, this);
bind(this);
tideLocationsList.setAdapter(new TideLocationsListAdapter(context));
}
private final class TideLocationsListAdapter extends ArrayAdapter<TideLocationsScreen.TideLocations> {
private TideLocationsListAdapter(@NonNull Context context) {
super(context, R.layout.tide_location_grid_item, R.id.tideLocationName,
TideLocationsScreen.TideLocations.values());
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null) {
convertView = inflate(getContext(), R.layout.tide_location_grid_item, null);
}
final TideLocationsScreen.TideLocations tideLocation = getItem(position);
ImageView tideLocationImageView = ButterKnife.findById(convertView, R.id.tideLocationImage);
TextView tideLocationTextView = ButterKnife.findById(convertView, R.id.tideLocationName);
tideLocationImageView.setImageResource(tideLocation.getImageId());
tideLocationTextView.setText(tideLocation.getName());
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
getScreen().tideLocationSelected(tideLocation.getNoaaApiId(), tideLocation.getName());
}
});
return convertView;
}
}
}