Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CameraGridAdapter implements SectionedAdapter {
- private Section section;
- private List<Camera> mList;
- private Context mContext;
- private OnGridOpenDetailsClick mCallbackDetails;
- private ViewHolder mViewHolder;
- public CameraGridAdapter(Context context, List<Camera> list, OnGridOpenDetailsClick onOpenDetailsClick) {
- mContext = context;
- section = new Section();
- mCallbackDetails = onOpenDetailsClick;
- section.setSectionTitle("CameraGridAdapter");
- mList = list;
- }
- @Override
- public View getHeaderViewForSection(int section, View convertView, ViewGroup parent) {
- return null;
- }
- @Override
- public Class[] getViewTypes() {
- return new Class[] { LinearLayout.class };
- }
- @Override
- public Class getViewType(FreeFlowItem proxy) {
- return LinearLayout.class;
- }
- @Override
- public boolean shouldDisplaySectionHeaders() {
- return false;
- }
- public void update(ArrayList<Camera> camera){
- for(Object o : camera){
- section.getData().add(o);
- }
- }
- @Override
- public long getItemId(int section, int position) {
- return section * 1000 + position;
- }
- @Override
- public View getItemView(int section, int position, View convertView, ViewGroup parent) {
- mViewHolder = new ViewHolder();
- if(convertView == null) {
- convertView = LayoutInflater.from(mContext).inflate(R.layout.adapter_thumbnail_big, parent, false);
- mViewHolder.background = (ImageView) convertView.findViewById(R.id.big_thumbnail);
- mViewHolder.cityName = (TextView) convertView.findViewById(R.id.city);
- mViewHolder.cameraName = (TextView) convertView.findViewById(R.id.camera_name);
- convertView.setTag(mViewHolder);
- } else {
- mViewHolder = (ViewHolder) convertView.getTag();
- }
- Camera camera = getItem(position);
- mViewHolder.cityName.setText(camera.getCity() + " / " + camera.getStatePrefix());
- mViewHolder.cameraName.setText(camera.getTitle());
- mViewHolder.background.setTag(position);
- mViewHolder.cameraName.setTag(position);
- mViewHolder.cityName.setTag(position);
- mViewHolder.background.setOnClickListener(onItemClick);
- ImageLoader.getInstance().displayImage(TagApplication.URL_TEMP_SERVER + camera.getUrlImage(), mViewHolder.background);
- return convertView;
- }
- private View.OnClickListener onItemClick = new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Camera camera = getItem(Integer.valueOf(view.getTag().toString()));
- if (camera != null && mCallbackDetails != null) {
- mCallbackDetails.onItemClick(camera);
- }
- }
- };
- //CRASH HERE
- public Camera getItem(int i) {
- Camera camera = new Camera();
- if(mList != null) {
- return mList.get(i);
- } else {
- return camera;
- }
- }
- @Override
- public int getNumberOfSections() {
- if(section.getData().size() == 0) return 0;
- return 1;
- }
- @Override
- public Section getSection(int index) {
- return section;
- }
- private static class ViewHolder {
- private ImageView background;
- private TextView cameraName;
- private TextView cityName;
- }
- public static interface OnGridOpenDetailsClick {
- public void onItemClick(Camera camera);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment