/*
* Copyright 2013 Peng fei Pan
*
* 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 me.xiaopan.android.examples.adapter;
import me.xiaoapn.easy.imageloader.ImageLoader;
import me.xiaopan.android.examples.R;
import me.xiaopan.easy.android.widget.MyBaseAdapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.ImageView;
public class ImageAdapter extends MyBaseAdapter {
private boolean full;
private String[] imageUrls;
public ImageAdapter(Context context){
super(context);
imageUrls = context.getResources().getStringArray(R.array.imageurls);
}
@Override
public View getRealView(int realPosition, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if(convertView == null){
viewHolder = new ViewHolder();
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_image_loader, null);
viewHolder.image = (ImageView) convertView.findViewById(R.id.listItem_image);
viewHolder.choiceButton = (CompoundButton) convertView.findViewById(R.id.button_listItemChoice);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
ImageLoader.getInstance().load(imageUrls[realPosition], viewHolder.image);
choiceButtonHandle(viewHolder.choiceButton, realPosition);
return convertView;
}
class ViewHolder{
ImageView image;
CompoundButton choiceButton;
}
@Override
public Object getItem(int position) {
return imageUrls[position];
}
@Override
public int getRealCount() {
return isFull()?imageUrls.length:3;
}
public boolean isFull() {
return full;
}
public void setFull(boolean full) {
this.full = full;
}
}