بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
نحوه ست کردن تصویر برای imageview
با سلام
یه تابع میخوام که اسم drawable رو بصورت string و به همراه یک imageview دریافت کنه
و مقدار setImageResource مربوط به imageview رو به مقدار جدید تغییر بده .
از تابع زیر استفاده میکنم ولی خطا میده .
public static void SetDrawable(String value,ImageView image) {
int resID = context.getResources().getIdentifier(value, "drawable", G.PACKAGE_NAME);
image.setImageResource(resID);
}
0
0
چه خطایی؟ احتمال میدم از شی context باشه ، مقدار دهی میکنیدش؟ از G.CONTEXT استفاده کنید خوبه به نظرم (11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
SaLaH KuRD
11 سال پیش
+1
0
سلام من همین تابع شما رو به این شکل استفاده می کنم .
اول Context رو توی کلاس G تعریف می کنم :
public class G extends Application {
public static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
}
عکس رو توی پوشه های drawable میذارم ، بعد توی اکتیویتی مورد نظرم از این تابع استفاده می کنم :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView img = (ImageView) findViewById(R.id.img);
SetDrawable("salah", img);
}
public static void SetDrawable(String value, ImageView image) {
int resID = G.context.getResources().getIdentifier(value, "drawable", G.context.getPackageName());
image.setImageResource(resID);
}
موفق باشید .
پاسخ به سوال
طاهر
11 سال پیش
0
0
از این کلاس میتونید استفاده کنید :
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
public class DrawableManager {
private Context context;
public DrawableManager(Context value) {
context = value;
}
public Drawable getDrawable(String name) {
Resources resources = context.getResources();
final int resourceId = resources.getIdentifier(name, "drawable",
context.getPackageName());
return resources.getDrawable(resourceId);
}
public int getResourceId(String name) {
Resources resources = context.getResources();
final int resourceId = resources.getIdentifier(name, "drawable",
context.getPackageName());
return resourceId;
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .