Skip to content

Instantly share code, notes, and snippets.

@jophde
Created November 6, 2011 23:05
Show Gist options
  • Save jophde/1343751 to your computer and use it in GitHub Desktop.
Save jophde/1343751 to your computer and use it in GitHub Desktop.
adapter
private class VenuesAdapter extends BaseAdapter implements ListAdapter {
private JSONArray venues;
private VenuesAdapter(JSONArray venues) {
assert venues != null;
this.venues = venues;
}
@Override
public int getCount() {
return venues.length();
}
@Override
public JSONObject getItem(int position) {
return venues.optJSONObject(position);
}
@Override
public long getItemId(int position) {
JSONObject venue = getItem(position);
return venue.optLong("idVenue");
}
@Override
public View getView(int position, View venuesRow, ViewGroup parent) {
if (venuesRow == null)
venuesRow = ((LayoutInflater) Venues.this.getLayoutInflater()).inflate(R.layout.venues_row, null);
JSONObject venue = getItem(position);
if (venue != null) {
try {
String venueImageUrl = venue.getString("sImageUrl-thumb");
int venueStatus = venue.getInt("iStatus");
String venueName = venue.getString("sName");
String venueAddress = venue.getString("sStreet") + " " + venue.getString("sCity") + ", " + venue.getString("sState");
ImageView venuesRowImage = (ImageView) venuesRow.findViewById(R.id.venues_row_image);
ImageView venuesRowStatus = (ImageView) venuesRow.findViewById(R.id.venues_row_status);
TextView venuesRowName = (TextView) venuesRow.findViewById(R.id.venues_row_name);
TextView venuesRowAddress = (TextView) venuesRow.findViewById(R.id.venues_row_address);
venuesRowImage.setImageResource(R.drawable.default_artwork);
// Venues.this.new DownloadImageTask(venuesRowImage).execute(venueImageUrl);
venuesRowStatus.setAlpha(230);
switch (venueStatus) {
case 1:
venuesRowStatus.setImageResource(R.drawable.venue_status_online);
break;
case 3:
venuesRowImage.setAlpha(120);
venuesRowStatus.setImageResource(R.drawable.venue_status_offline);
break;
}
venuesRowName.setText(venueName);
venuesRowAddress.setText(venueAddress);
} catch (JSONException e) {
try {
venues.put(position, null);
} catch (JSONException e1) {
throw new IllegalArgumentException("Member venues is corrupt.");
}
}
}
return venuesRow;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment