majid.ostadi
شنبه 29 شهریور 1393, 18:56 عصر
با سلام دوستان
من تو برنامم از یه گالری دارم استفاده میکنم.
گالری رو که تو یه پروژه جدا ساختم مشکلی نداشت، اما به پروژه ام که اضافه کردم خطای Force Stopped میده.
مشکل کار کجاست به نظرتون
اینم اضافه کنم که گالری تو یه لایوت جداگانه قرار داره(یعنی تو لایوت اصلی برنامه نیست)
اینم لاگ :
http://upsara.com/images/o92r_log.png
اینم کد های main activity :
ImageView selectedImage;
private Integer[] mImageIds =
{
R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4,
R.drawable.image5,
};
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
//selectedImage=(ImageView)findViewById(R.id.imageVi ew1);
gallery.setSpacing(1);
gallery.setAdapter(new GalleryImageAdapter(this));
// clicklistener for Gallery
gallery.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
Toast.makeText(MainActivity.this, "Your selected position = " + position, Toast.LENGTH_SHORT).show();
// show the selected Image
selectedImage.setImageResource(mImageIds[position]);
}
});
اینم کلاس استفاده شده در پروژه :
public class GalleryImageAdapter extends BaseAdapter
{
private Context mContext;
private Integer[] mImageIds = {
R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4,
R.drawable.image5,
};
public GalleryImageAdapter(Context context)
{
mContext = context;
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
// Override this method according to your need
public View getView(int index, View view, ViewGroup viewGroup)
{
// TODO Auto-generated method stub
ImageView i = new ImageView(mContext);
i.setImageResource(mImageIds[index]);
i.setLayoutParams(new Gallery.LayoutParams(200, 200));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;
}
}
من تو برنامم از یه گالری دارم استفاده میکنم.
گالری رو که تو یه پروژه جدا ساختم مشکلی نداشت، اما به پروژه ام که اضافه کردم خطای Force Stopped میده.
مشکل کار کجاست به نظرتون
اینم اضافه کنم که گالری تو یه لایوت جداگانه قرار داره(یعنی تو لایوت اصلی برنامه نیست)
اینم لاگ :
http://upsara.com/images/o92r_log.png
اینم کد های main activity :
ImageView selectedImage;
private Integer[] mImageIds =
{
R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4,
R.drawable.image5,
};
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
//selectedImage=(ImageView)findViewById(R.id.imageVi ew1);
gallery.setSpacing(1);
gallery.setAdapter(new GalleryImageAdapter(this));
// clicklistener for Gallery
gallery.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
Toast.makeText(MainActivity.this, "Your selected position = " + position, Toast.LENGTH_SHORT).show();
// show the selected Image
selectedImage.setImageResource(mImageIds[position]);
}
});
اینم کلاس استفاده شده در پروژه :
public class GalleryImageAdapter extends BaseAdapter
{
private Context mContext;
private Integer[] mImageIds = {
R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4,
R.drawable.image5,
};
public GalleryImageAdapter(Context context)
{
mContext = context;
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
// Override this method according to your need
public View getView(int index, View view, ViewGroup viewGroup)
{
// TODO Auto-generated method stub
ImageView i = new ImageView(mContext);
i.setImageResource(mImageIds[index]);
i.setLayoutParams(new Gallery.LayoutParams(200, 200));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;
}
}