/*
*
* * 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;
}
}