124 lines
3.2 KiB
Java
124 lines
3.2 KiB
Java
package cn.shangyu.gdxzExpert.adapter;
|
|
|
|
import android.content.Context;
|
|
import android.net.Uri;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.BaseAdapter;
|
|
import android.widget.ImageView;
|
|
|
|
import com.bumptech.glide.Glide;
|
|
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
import cn.shangyu.gdxzExpert.R;
|
|
import cn.shangyu.gdxzExpert.bean.PhotoAibum;
|
|
import cn.shangyu.gdxzExpert.bean.PhotoItem;
|
|
|
|
;
|
|
|
|
public class PhotoAdappter2 extends BaseAdapter {
|
|
private Context context;
|
|
private PhotoAibum aibum;
|
|
private ArrayList<String> positions;
|
|
private List<PhotoItem> bitList;
|
|
|
|
public PhotoAdappter2(Context context, PhotoAibum aibum) {
|
|
this.context = context;
|
|
this.aibum = aibum;
|
|
List<PhotoItem> bitList1 = aibum.getBitList();
|
|
Collections.reverse(bitList1);
|
|
this.bitList = bitList1;
|
|
|
|
}
|
|
|
|
@Override
|
|
public int getCount() {
|
|
|
|
return bitList.size();
|
|
|
|
}
|
|
|
|
public void getPosition(ArrayList<String> positions) {
|
|
|
|
this.positions = positions;
|
|
|
|
}
|
|
|
|
@Override
|
|
public long getItemId(int position) {
|
|
return position;
|
|
}
|
|
|
|
@Override
|
|
public View getView(int position, View convertView, ViewGroup parent) {
|
|
ViewHolder vh = null;
|
|
if (convertView == null) {
|
|
convertView = View.inflate(context,
|
|
R.layout.photoalbum_gridview_item, null);
|
|
vh = new ViewHolder();
|
|
vh.iv_image = (ImageView) convertView
|
|
.findViewById(R.id.photo_img_view);
|
|
vh.iv_select = (ImageView) convertView
|
|
.findViewById(R.id.photo_select);
|
|
convertView.setTag(vh);
|
|
} else {
|
|
vh = (ViewHolder) convertView.getTag();
|
|
}
|
|
|
|
// Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(
|
|
// context.getContentResolver(), aibum.getBitList().get(position)
|
|
// .getPhotoID(), Thumbnails.MICRO_KIND, null);
|
|
// vh.iv_image.setImageBitmap(bitmap);
|
|
|
|
Uri uri = Uri.fromFile(new File( bitList.get(position).getPath()));
|
|
Glide.with(context).load(uri).into(vh.iv_image);
|
|
|
|
// List<PhotoItem> bitList = aibum.getBitList();
|
|
// ImageLoader.getInstance().displayImage("file://" + bitList.get(position).getPath(),vh.iv_image);
|
|
if (positions != null) {
|
|
if (positions.contains(position + "")) {
|
|
vh.iv_select.setImageDrawable(context.getResources()
|
|
.getDrawable(R.drawable.cb_on));
|
|
} else {
|
|
vh.iv_select.setImageDrawable(context.getResources()
|
|
.getDrawable(R.drawable.cb_normal));
|
|
}
|
|
} else {
|
|
vh.iv_select.setImageDrawable(context.getResources().getDrawable(
|
|
R.drawable.cb_normal));
|
|
}
|
|
vh.iv_select.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View view) {
|
|
if (mOnItemClickListener != null) {
|
|
mOnItemClickListener.onItemClick(position);
|
|
}
|
|
}
|
|
});
|
|
return convertView;
|
|
|
|
}
|
|
|
|
@Override
|
|
public Object getItem(int position) {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
class ViewHolder {
|
|
ImageView iv_image, iv_select;
|
|
}
|
|
private ViewItemClickListener mOnItemClickListener = null;
|
|
|
|
public void setOnItemClickListener(ViewItemClickListener listener) {
|
|
this.mOnItemClickListener = listener;
|
|
}
|
|
public interface ViewItemClickListener {
|
|
void onItemClick( int position);
|
|
}
|
|
}
|