Felippe dos Santos Ferreira
unread,Jun 30, 2013, 10:23:43 AM6/30/13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to androidb...@googlegroups.com
faço o download de umas imagens
ai pego essas imagens e faço uma galeria usando as imagens
tenho cerca de 8 gallerias e cada galeria com 20 imagens
tudo isso em um grid layout...
dai quando vou exibir as imagens das gallerias da falta de moria, mais se a galeria é com pouca imagens funciona perfeitamente...
mais tb se saiu de uma galeria e entro em outra da falta de memoria
segue o codigo......
public class Galeria extends Activity {
List<String> paths;
ArrayList<Bitmap> images;
private String id;
private DataBaseAdapter dbadapter;
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
finish();
super.onBackPressed();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
// ActionBar actionBar = getActionBar();
// actionBar.show();
// actionBar.setDisplayHomeAsUpEnabled(true);
// getActionBar().hide();
setContentView(R.layout.activity_galeria);
Log.i("teste", "on create ");
Intent intent = getIntent();
id = getIntent().getStringExtra("idacessoria"); // recebo o id da galeria para buscar as imagens
Log.i("teste", "on create "+id);
dbadapter = new DataBaseAdapter();
paths = dbadapter.getImage(getApplicationContext(), Integer.parseInt(id));//faço a busca das iamgens
Log.i("teste", "on create paths "+paths);
images = new ArrayList<Bitmap>();
for (String path : paths) {// em cada item do array de bitmap eu coloca o nome da imagem
images.add(getAssetFile(path.toString()));
Log.i("teste", "on create paths "+paths);
}
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
}
/**
* recebe o nome do arquivo e
* @param fileName nome do arquivo
* @return imagem da galeria
*/
public Bitmap getAssetFile(String fileName) {
Bitmap bitmap = null;
try {
File filePath = getFileStreamPath(fileName);
bitmap = BitmapFactory.decodeFile(filePath.toString());
return bitmap;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bitmap;
}
private class ImagePagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return images.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
// return view == object;
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Context context = Galeria.this;
ImageView imageView = new ImageView(context);
int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_zero);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageBitmap(images.get(position));
// imageView.setImageBitmap(getAssetFile(paths.get(position)));
((ViewPager) container).addView(imageView);
return imageView;
}
// @Override
// public void destroyItem(ViewGroup container, int position, Object object) {
// ((ViewPager) container).removeView((ImageView) object);
// }
@Override
public void destroyItem(View collection, int position, Object o) {
View view = (View) o;
((ViewPager) collection).removeView(view);
view = null;
// final View view = (View)o;
// ((ViewPager) collection).removeView(view);
}
}
}