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

قرار دادن SetBackGround به صورت Dynamic

Hossein Kurd  12 سال پیش  12 سال پیش
+1 0

یک ListView دارم که توی اون Imageviw قرار دادم

آیا راهی هست که SetBackGround  رو به صورت Dynamic مثلا بر اساس یک آرایه تعیین کنم؟

0 0
متونی تو لیستی که به لیست ویو بایند میکنی اندیس آرایه عکس رو نگهداری و موقع fill کردن آیتم عکس رو هم تنظیم کنی (12 سال پیش)
0 0
نمی شه، حلقه For رو دادم به آرایه اما تمام اندیس ها رو 0بر می گردونه (12 سال پیش)
0 0
اندکی کد! (12 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Hossein Kurd  12 سال پیش
0 0

کد:

 
	private static class ViewHolder{
		private RelativeLayout rl_image;
		 private ImageView imgPrd;
		 //private Bitmap bitmap;
		private TextView tv_name;
		 public ViewHolder(View view){
			 rl_image = (RelativeLayout) view.findViewById(R.id.rl_image);
			 imgPrd = (ImageView) view.findViewById(R.id.img_prd);
			 tv_name = (TextView) view.findViewById(R.id.tv_name);
			 
		 }
		 
		 @SuppressLint("NewApi")
		public void fill(ArrayAdapter<StructItem> adapter,StructItem item, int position ){
			 int imgH = (int) (UIHelper.width * 1.5);
			 rl_image.setLayoutParams(new LinearLayout.LayoutParams(UIHelper.width,imgH));
			 //imgPrd.setBackgroundResource((Integer)item.imageid);
			 //imgPrd.setImageDrawable(item.res);
			 //imgPrd.setImageBitmap(BitmapFactory.decodeResource(G.appConfigs.context.getResources(),item.imageid));
			 tv_name.setText(item.name.trim().toString());
			 
			 switch (item.catid) {
			case 0:
				Log.i("index", "Index: " + 0 + " item.catid: " + item.catid);
				imgPrd.setBackgroundResource(R.drawable.lv_3);
				break;
			case 1:
				Log.i("index", "Index: " + 1 + " item.catid: " + item.catid);
				imgPrd.setBackgroundResource(R.drawable.lv_1);
				break;
			case 2:
				Log.i("index", "Index: " + 2 + " item.catid: " + item.catid);
				imgPrd.setBackgroundResource(R.drawable.lv_2);
				break;
			case 3:
				Log.i("index", "Index: " + 3 + " item.catid: " + item.catid);
				imgPrd.setBackgroundResource(R.drawable.lv_3);
				break;
			case 4:
				Log.i("index", "Index: " + 4 + " item.catid: " + item.catid);
				imgPrd.setBackgroundResource(R.drawable.lv_1);
				break;
			default:
				Log.i("index", "Index: Default & item.catid: " + item.catid);
				break;
			}
			 
			}
	}

و:

                for(int i=0;i<=3;i++){
			
			item = new StructItem();
			item.id = i;
			item.catid = i;
			item.name = "تصویر شماره " + i;
items.add(item); } adapter.notifyDataSetChanged();
+1 0
بله لوگها نمایش داده می شه، RelativeLayout هم بیرونی ترین عنصر نیست و TextView و ImageView رو در بر می گیره (12 سال پیش)
پاسخ به سوال 
محمد حسین زاده  12 سال پیش
+1 0

خلاصه کدت میشه این :

 private static class ViewHolder{
private ImageView imgPrd;
private TextView tv_name;
public ViewHolder(View view){
imgPrd = (ImageView) view.findViewById(R.id.img_prd);
tv_name = (TextView) view.findViewById(R.id.tv_name);
}

public void fill(ArrayAdapter<StructItem> adapter,StructItem item, int position ){

tv_name.setText(item.name.trim().toString());

switch (item.catid) {
case 0:
Log.i("index", "Index: " + 0 + " item.catid: " + item.catid);
imgPrd.setBackgroundResource(R.drawable.lv_3);
break;
case 1:
Log.i("index", "Index: " + 1 + " item.catid: " + item.catid);
imgPrd.setBackgroundResource(R.drawable.lv_1);
break;
case 2:
Log.i("index", "Index: " + 2 + " item.catid: " + item.catid);
imgPrd.setBackgroundResource(R.drawable.lv_2);
break;
default:
Log.i("index", "Index: Default & item.catid: " + item.catid);
break;
}

}
}

تنظیمات RelativeLayout رو هم به xml  واگذار کن

Log ها توی خروجی میاد؟

پاسخ به سوال 
Hossein Kurd  12 سال پیش
0 0

وقتی به صورت تئوری نگاهش می کنی باید اجرا بشه

اما عملی ...

0 0
دیفالت src رو توی xml برداشتم، درست شد (12 سال پیش)

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