تبادل تصویر بین اکتیویتیها
دوستان چند باتون و دو اکتیوتیی دارم میخوام وقتی روی باتون کلیک کنم تصویر مورد نظرم در اکتیوتیی بعدی نشان داده شود
توی اکتیویتی اول resid تصویر مورد نظرمون رو بدست می آوریم :
int resid = R.drawable.[image_name];
بعد از اون باید وقتی که قراره به اکتیویتی بعدی بریم این resid رو توی متغیری بریزیم و بفرستیم:
Intent i = new Intent(ActivityMain.this, ActivityTwo.class);
i.putExtra("RES_ID", resid);
startActivity(i);
در خط دوم سورس بالا resid رو به عنوان یک Extra با کلیدی به نام RES_ID به اکتیویتی بعدی فرستادیم. حال در اکتیویتی دوم این مقدار را در یافت می کنیم البته قبلش یک ImageView باید داشته باشیم:
ImageView img1 = (ImageView) findViewById(R.id.img1);
Bundle bundle = getIntent().getExtras(); int resid_img1 = bundle.getInt("RES_ID");
Bundle کلاسی است که Extra ها را می تواند در خودش ذخیره کند و به مقادیرش دسترسی پیدا کند. حال با کلید RES_ID مقدارش رو در یک متغیری بنام resid_img1 میریزیم و در نهایت به ImageView آن را اعمال می کنیم:
img1.setImageResource(resid_img1);
resid چیست؟
در پوشه gen فایل R.java را باز کنید زیر مجموعه فیلد drawable را نگاه کنید تصاویر با کدهایی مثل 0x7f050000 وجود دارند. ما برای دسترسی به تصاویر در برنامه مون از این کد ها استفاده می کنیم. فکر کنم فهمیده باشید چرا از resid استفاده کرده ایم.
مجتبی برادر در فهرست علاقه مندی من یه قطعه کد رو از یه سورس کپی کردم ولی حتما باید درو try قرارش بدم تا کار بکنه و منظم هم کار نمیکند در صورتی که در اون سورس از try استفاده نشده و اگر من هم استفاده نکنم با زدن کلید علاقه مندیها برنامه متوقف میشه این کد خدمتت ببین مشکل از کجاست؟؟
final ImageView fav=(ImageView) row.findViewById(R.id.row_story_fav);
if(Fav[position].equals("1")){
fav.setImageResource(R.drawable.favon);
}else{
fav.setImageResource(R.drawable.favoff);
}
fav.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
db.open();
if(Fav[position].equals("1")){
db.fav_update("content", sea, Name[position], "0");
fav.setImageResource(R.drawable.favoff);
Fav[position]="0";
}else{
db.fav_update("content", sea, Name[position], "1");
fav.setImageResource(R.drawable.favon);
Fav[position]="1";
}
db.close();
}
});
name.setText(Name[position]);
tedad.setText(Tedad[position] +" صفحه ");
name.setTypeface(Main.font);
return (row);
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .


