آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تغییر سورس تصویر imageView به صورت دینامیک

override  12 سال پیش  12 سال پیش
+2 0

من میخوام عکسی که برای imageView  انتخاب شده رو براساس نام تصاویری که در drawable به ترتیب و فرمت  خاصی نامگذاری و ذخیره شده اند رو تغییر بدم مثلا imageOne , imageTwo و الی آخر ، ولی مشکل اینجاست که نمیدونم چه جوری باید از دو تا دستور زیر استفاده کنم

 
myImageView.setImageResource(R.Drawable.targetImage); or myImageView.setImageDrawable(getRecources().getDrawable(R.Drawable.targetImage));

بخوام واضح تر منظورم رو بیان کنم میتونم اینجوری بگم که چه طور میشه فرضاً با هر بار فراخوانی متدی که در اون از یکی از دو دستور بالا استفاده شده قسمت targetImage در کدهای بالا رو به صورت داینامیک به نام تصویر مورد نظر تغییر داد.از متغیر که فکر نمیکنم بشه استفاده کرد به جاش!! میشه؟

یه مقدار سرچ کردم این راه حل رو پیدا کردم که جواب این بوده که میشه از Reflection استفاده کرد ولی من هیچ آشنایی با این مبحث از جاوا ندارم و نمیدونم چه طوری باید به این مورد تعمیم داده بشه.

اگه ایده یا راه حل بهتری در نظر دارید لطفاً منو راهنمایی کنید.

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
override  12 سال پیش
+4 0

خب بچه ها واقعاً غافلگیر شدم از این همه پیشنهاد ، کد ، راهنمایی ، نظر، لینک !! :) به احتمال زیاد تا حالا یه بار براتون پیش اومده بود که نیاز به یه همچین موردی داشته باشید! نداشتید؟

خدارو شکر و خوشبختانه راه حل رو پیدا کردم اینجا هم میذارم مطمئنم حتماً یه روزی به کارتون میاد.البته به جای imageone از این فرمت نامگذاری استفاده کردم: image1 البته فرقی نداره میشد فقط از نام های خشک و خالی بدون پسوند عددی ولی متفاوت از هم استفاده کرد ولی حالا من این روش نامگذاری رو ترجیح دادم کد زیر رو ببینید.

 

   private void setImage(ImageView imageView,String someName) {

String prefix = someName;
int suffix = counter++;

Resources resource = getResources();
int imgId = resource.getIdentifier(prefix + suffix, "drawable","your.package.name");
imageView.setImageResource(imgId);

}

 

0 0
من که تازه رسیدم ، ولی این مورد تو آموزش ها بود قسمتش یادم نیست ولی مربوط به تصویر و آنلاین و ... بود (12 سال پیش)
0 0
الان یه مشکل دیگه پیش اومده فقط دفعه اول عکس ها درست لود میشه بعدش غیب میشن!! اینو تازه فهمیدم . کاشکی زودتر سوال رو دیده بودی S P ! R ! T الان یه روز و نصف حیرون همین بودم ،اگه کسی یادشه کدوم آموزش بود بگه من هنوز همه رو ندیدم و الان دوباره به مشکل برخوردم (12 سال پیش)
0 0
S P ! R ! T توی اون آموزش هم همین کد استفاده شده بود؟ یا یه تکنیک دیگه زده بود ؟ :) (12 سال پیش)
0 0
همینا بود (12 سال پیش)
0 0
مشکل غیب زدگی حل شد :) یه بنده خدایی :) اون متغیر counter رو static تعریف کرده بود هر بار که متد اجرا میشد شماره میرفت بالا و چون عکسی با اون پسوند عددی در drawable نبود که نشون بده دفعه بعد چیزی نشون نمیداد. (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .