/* * * * Copyright 2015 Van Shu * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * */ package com.mobimvp.cliques.ui.adapter; import android.graphics.drawable.BitmapDrawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import com.android.volley.toolbox.ImageLoader; import com.mobimvp.cliques.AppData; import com.mobimvp.cliques.R; import com.mobimvp.cliques.model.Shot; import com.mobimvp.cliques.service.RequestManager; import org.w3c.dom.Text; import java.lang.reflect.Array; import java.util.ArrayList; import static com.mobimvp.cliques.util.LogUtils.makeLogTag; /** * Created by Van on 2014/11/29. */ public class ShotsAdapter extends BaseAdapter { private static final String TAG = makeLogTag(ShotsAdapter.class); private ArrayList<Shot> shots; private BitmapDrawable mDefaultAvatarBitmap = (BitmapDrawable) AppData.getContext() .getResources().getDrawable(R.drawable.default_avatar); public ShotsAdapter(ArrayList<Shot> shots){ this.shots=shots; } @Override public int getCount() { return shots ==null ? 0: shots.size(); } @Override public Object getItem(int position) { return shots.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = LayoutInflater.from(AppData.getContext()).inflate(R.layout.shots_list_item,parent,false); viewHolder = new ViewHolder(); viewHolder.mShotImageView = (ImageView) convertView.findViewById(R.id.shot_imageView); viewHolder.mShotName = (TextView) convertView.findViewById(R.id.shot_name); viewHolder.mUserAvatar = (ImageView) convertView.findViewById(R.id.user_avatar); viewHolder.mUserName = (TextView) convertView.findViewById(R.id.user_name); viewHolder.mCreateTime = (TextView) convertView.findViewById(R.id.create_time); viewHolder.mLikesCount=(Button)convertView.findViewById(R.id.likes_count); viewHolder.mCommentsCount=(Button)convertView.findViewById(R.id.comments_count); viewHolder.mViewsCount=(Button)convertView.findViewById(R.id.views_count); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.mShotName.setText(shots.get(position).title); viewHolder.mUserName.setText(shots.get(position).user.name); viewHolder.mCreateTime.setText(shots.get(position).createdAt); viewHolder.mLikesCount.setText(String.valueOf(shots.get(position).likesCount)); viewHolder.mCommentsCount.setText(String.valueOf(shots.get(position).commentsCount)); viewHolder.mViewsCount.setText(String.valueOf(shots.get(position).viewsCount)); viewHolder.mShotImageViewRequest = RequestManager.loadImage(shots.get(position).images.normal, RequestManager.getImageListener(viewHolder.mShotImageView, mDefaultAvatarBitmap, mDefaultAvatarBitmap)); viewHolder.mUserAvatarRequest = RequestManager.loadImage(shots.get(position).user.avatarUrl, RequestManager.getImageListener(viewHolder.mUserAvatar, mDefaultAvatarBitmap, mDefaultAvatarBitmap)); return convertView; } private static class ViewHolder { public ImageView mShotImageView; public TextView mShotName; public ImageView mUserAvatar; public TextView mUserName; public TextView mCreateTime; public Button mLikesCount; public Button mCommentsCount; public Button mViewsCount; public ImageLoader.ImageContainer mShotImageViewRequest; public ImageLoader.ImageContainer mUserAvatarRequest; } }