1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| public class PhotoAlbumPhotoActivity extends BaseActivity {
private GridView album;
private ArrayList<File> lstPhoto;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photo_album_photo);
lstPhoto = ((BaseApplication) getApplicationContext()).getLstPhoto();
album = (GridView)findViewById(R.id.photo_gridview);
album.setAdapter(new ImgAdapter(this));
album.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
String path = lstPhoto.get(arg2).getPath();
Bitmap photo = BitmapFactory.decodeFile(path);
((BaseApplication)getApplicationContext()).photoSelec = photo ;
Intent in = new Intent(getApplicationContext(), PhotoActivityTakePhoto2.class);
startActivityForResult(in, BaseActivity.SKP_ACTIVITY_RET_HOME);
album.setAdapter(null);
finish();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == BaseActivity.SKP_ACTIVITY_RET_HOME){
// l'activite precedente a ete termine par l'utilisation du btn HOME
// on termine donc egalement l'activite courante
setResult(BaseActivity.SKP_ACTIVITY_RET_HOME);
finish();
}
}
public class ImgAdapter extends BaseAdapter
{
Context myContext;
public ImgAdapter (Context c)
{
myContext = c;
}
public int getCount() {
return lstPhoto.size();
}
public Object getItem(int position) {
return lstPhoto.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(myContext);
imageView.setLayoutParams(new GridView.LayoutParams(150, 150));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(2, 2, 2, 2);
} else {
imageView = (ImageView) convertView;
}
BitmapFactory.Options op = new BitmapFactory.Options();
op.inSampleSize = 10;
op.inPurgeable = true;
imageView.setImageBitmap(BitmapFactory.decodeFile(lstPhoto.get(position).getPath(),op));
return imageView;
}
}
} |
Partager