У меня есть собственное представление списка, имеющее изображение. Теперь мне нужно получить это изображение из одной активности в другую. Я использовал следующий код. Он работает, но он извлекает один и тот же размер изображения из списка в другой, но мне нужно исправить его размер в соответствии с другим действием.Передача изображения из списка в другую деятельность
ImageView imageview = (ImageView)itemView.findViewById(R.id.yourImageview);
Bitmap bitmap = ((BitmapDrawable)imageview.getDrawable()).getBitmap();
Intent intent = new Intent(activity.this, Nextactivity.class);
intent.putExtra("contentTwo", bitmap);
Bitmap receivedimage =(Bitmap) intent.getParcelableExtra("contentTwo");
imageview = (ImageView) findViewById(R.id.yourimageview);
imageview.setImageBitmap(receivedimage);
Адаптер Код:
public Screen(Activity a,
ArrayList<Data> DataList) {
// TODO Auto-generated constructor stub
activity = a;
bleepDraftDataList = draftDataList;
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader = new ImageLoader(activity.getApplicationContext());
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return bleepDraftDataList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
private class ViewHolder {
private ImageView imageViewleft;
private ImageView imageViewlright;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Data = DataList.get(position);
view = convertView;
final ViewHolder holder;
if (convertView == null) {
view = inflater.inflate(R.layout.something, null);
holder = new ViewHolder();
holder.imageViewleft = (ImageView) view
.findViewById(R.id.imageViewBleeplinecellleft);
holder.imageViewlright = (ImageView) view
.findViewById(R.id.imageViewBleeplinecellright);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
if (!Data.creator.image.equals("")) {
holder.imageViewleft.setTag(""
+ Data.creator.image);
imageLoader.DisplayImage("" + Data.creator.image,
activity, holder.imageViewleft);
}
if (!Data.preview.equals("")) {
holder.imageViewright.setTag(""
+ Data.preview);
imageLoader.DisplayImage("" + Data.preview, activity,
return view
}
}
Я думаю, что более простая и менее пространственная точка зрения вы должны использовать один статический объект растрового изображения, поэтому он назначается в элементе списка и использует его для другого действия по их статической ссылке ... Wat You Think? –
проблема, вы принимаете растровое изображение из imageview в listview, поэтому он возвращает размер только этого изображения. Вместо этого попробуйте создать оригинальное растровое изображение, которое вы установили для imageView .. Пожалуйста, вставьте код адаптера, чтобы он был полезен ... –
@Anilkumar У меня была вставка моего кода адаптера .. –