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

نحوه ست کردن تصویر برای imageview

طاهر  11 سال پیش  11 سال پیش
0 0

با سلام

یه تابع میخوام که اسم 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;

}

}


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